Search based on \"*some sub-string here*\" Functions much like the Java String.indexOf method. Single term searches will match '*term' and 'term*' but not '*term*'. This is because leading wildcards are very inefficient. Special characters are included.
The Non Leading Wild Card Literal Substring search has the following characteristics:
Parsing is done with the following analyzer:
literal_propertyValue - Uses our custom literal analyzer. This literal analyzer uses Lucene's WhitespaceTokenizer with Lucene's LowerCaseFilter.
The following examples are based on the Automobiles coding scheme.
Example 1:
Search string: grap
Lucene query: +(literal_propertyValue:grap* literal_reverse_propertyValue:parg*) literal_propertyValue:grap^50.0
Result: 1 result
Example 2:
Search string: rap
Lucene query: +(literal_propertyValue:rap* literal_reverse_propertyValue:par*) literal_propertyValue:rap^50.0
Result: 0 results
Junits can be found here: https://github.com/lexevs/lexevs/blob/master/lbTest/src/test/java/org/LexGrid/LexBIG/Impl/function/query/lucene/searchAlgorithms/TestSubStringNonLeadingWildcardLiteralSubString.java