This looks very promising. Thanks so much Deepak!

Kathy


On Monday, April 27, 2015 at 8:44:28 AM UTC-4, deepak.chauhan wrote:
>
> use slop with phrase_prefix
>
>
> On Mon, Apr 27, 2015 at 5:58 PM, Kathy Cashel <kathlee...@gmail.com 
> <javascript:>> wrote:
>
>> My client wants a search that returns both prefix and exact matches per 
>> token. Most (but not all) of the text being searched is human names. The 
>> idea is that "jane smith" and "smith, j" and "j smit" will all return the 
>> same document, so I'm using tokens.
>>
>> The trick is that it needs to be an "and" search: all tokens in the 
>> search string must be present in the results. And the prefix query does not 
>> seem to offer this option. Edgengram would be a great answer, but the 
>> client wants results returned alphabetically - using no relevance at all - 
>> and the long tail on ngram searches makes the alpha sort unfeasible.
>>
>> So for now I'm using a simple keyword tokenizer (plus some custom 
>> analyzers) to index, and then splitting the search string on spaces to 
>> build queries like the below. It seems very awkward / cumbersome / brittle.
>>
>> All suggestions appreciated.
>>
>> {
>>     "query" : {
>>         "bool" : {
>>             "must" : [{
>>                     "bool" : {
>>                         "should" : [{
>>                                 "match" : {
>>                                     "text" : "j"
>>                                 }
>>                             }, {
>>                                 "prefix" : {
>>                                     "text" : "j"
>>                                 }
>>                             }
>>                         ]
>>                     }
>>                 }, {
>>                     "bool" : {
>>                         "should" : [{
>>                                 "match" : {
>>                                     "text" : "smith"
>>                                 }
>>                             }, {
>>                                 "prefix" : {
>>                                     "text" : "smith"
>>                                 }
>>                             }
>>                         ]
>>                     }
>>                 }
>>             ]
>>         }
>>     }
>> }
>>
>>
>>  -- 
>> You received this message because you are subscribed to the Google Groups 
>> "elasticsearch" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to elasticsearc...@googlegroups.com <javascript:>.
>> To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/elasticsearch/bf12f1dc-f8d5-4e05-92fa-ce5f36c07d1c%40googlegroups.com
>>  
>> <https://groups.google.com/d/msgid/elasticsearch/bf12f1dc-f8d5-4e05-92fa-ce5f36c07d1c%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"elasticsearch" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to elasticsearch+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/elasticsearch/d36515c0-803e-4210-864a-d7ba9af06891%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to