Hi


I need to support searches like " green apple" near "yellow peach", but 
can't find existing query syntax from ElaticSearch to support this directly.   
So I tried to combine multiple phrase match  with a boolean query to 
achieve this.  It doesn't work perfectly, but search results are close 
enough.  However, I can't find a good way to highlight the match terms 
correctly as my client only wants to highlight the phrase "green apple" and 
"yellow peach"  where they near each other.  With the query I come up, all 
the individual word could be highlighted as well  if I have a sentence like 
"green and red apple with yellow banana and pink peach", assuming somewhere 
in the text would have two phrases "green apple" and "yellow peach" that 
satisfy the query.  

 

 I use standard tokenizer with snowball filter for the text field, and  
term_vector 
with_postions_offsets is used for highlighting.

 

Here is my query:

  

"query":

   {"bool":{"must":

              [{"match_phrase":{"headline":{"text":"green apple"}}},

               {"match_phrase":{"headline":{"text":"yellow peach"}}},

               {"match_phrase":{"headline":{"text":"green apple yellow 
peach","slop":10}}}

              ]

    }}

"highlight":

   {"fields":{"text":{}},

    "fragment_size":200,

    "number_of_fragments":50,

    "highlight_query":{""match_phrase":{"headline":{"text":"green apple 
yellow peach","slop":10}}},

    "require_field_match":true

    }

 

I tried span near query, but I can't find span term that support phrases, 
and I believe span query only works on not-analyzed fields.

 

Can anyone have suggestions to handle the highlighting for such proximity 
phrase searches?   Thanks.
 

-- 
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/18cdb5cb-3aed-4d87-95ec-2d146306117b%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to