Edge-Ngram returns irrelevant result

Hi Adrien,

But now when i type "hap" it doesn't return the following after i
configure with search_analzyer :

1)Happy
2)Happy birthday
3)Happy valentine

Sorry maybe i have missed the requirements at the first place. Basically i
wanted to use the edge_ngram to achieve auto-completion not full-text
matching.

Thanks.

On Mon, Apr 28, 2014 at 5:23 PM, Adrien Grand <
adrien.grand@elasticsearch.com> wrote:

Hi,

I think your issue is that you are also applying the edge n-gram filter at
search time. So "happy" is translated to ("ha" OR "hap" OR "happ" OR
"happy"). You need to configure your mappings with a search analyzer[1]
which is the same analyzer but without the edge-ngram filter (so just
keyword and lowercase).

On a side note, you would benefit from putting the lowercase filter in
front of your n-gram filter. This way, the lowercasing would be done only
once.

[1]
Elasticsearch Platform — Find real-time answers at scale | Elastic

On Mon, Apr 28, 2014 at 10:50 AM, cyrilforce cheehoo84@gmail.com wrote:

Hi All,

I am trying to use *edge-ngram filter *to achieve auto-completion
behaviour. However when i run the following query :

{
"from" : "0",
"size" : "20",
"explain" : true,

"query" : {
*"multi_match": {*
  •  "query": "happy",*
    
  •  "fields": [ "DISPLAY_NAME.NAME <http://DISPLAY_NAME.NAME>"]*
    
  • }*
    
    },
    "sort" : [{
    "_score" : { "order" : "desc"}}]
    }

It returns me documents :

irrevelent_response_edge_ngram.json · GitHub

May i know how can i achieve the behaviour when i search "happy" then
is should return me following result instead :

1)Happy
2)Happy birthday
3)Happy valentine

The analzyer configure :

"analysis" : {
"analyzer" : {
"edge_ngram_keyword_lowercase_analyzer" : {
"tokenizer" : "keyword",
"filter" : ["my_edge_ngram_filter","lowercase"]
}
},
"filter" : {
"my_edge_ngram_filter" : {
"type" : "edgeNGram",
"min_gram" : "2",
"max_gram" : "30"

                }
            }

}

The mapping :
irrevelent_response_ngram_edge_mapping.json · GitHub

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+unsubscribe@googlegroups.com.

To view this discussion on the web visit
https://groups.google.com/d/msgid/elasticsearch/e8a4446c-38c9-4c6b-8d2a-15374ef041a9%40googlegroups.comhttps://groups.google.com/d/msgid/elasticsearch/e8a4446c-38c9-4c6b-8d2a-15374ef041a9%40googlegroups.com?utm_medium=email&utm_source=footer
.
For more options, visit https://groups.google.com/d/optout.

--
Adrien Grand

--
You received this message because you are subscribed to a topic in the
Google Groups "elasticsearch" group.
To unsubscribe from this topic, visit
https://groups.google.com/d/topic/elasticsearch/fhsCgFBF76E/unsubscribe.
To unsubscribe from this group and all its topics, send an email to
elasticsearch+unsubscribe@googlegroups.com.
To view this discussion on the web visit
https://groups.google.com/d/msgid/elasticsearch/CAL6Z4j5iMm-e%3Dk-vf6_Hw%3D7EDgNzoG%2BrQLfAW6-pJdw1JbJYYQ%40mail.gmail.comhttps://groups.google.com/d/msgid/elasticsearch/CAL6Z4j5iMm-e%3Dk-vf6_Hw%3D7EDgNzoG%2BrQLfAW6-pJdw1JbJYYQ%40mail.gmail.com?utm_medium=email&utm_source=footer
.

For more options, visit https://groups.google.com/d/optout.

--
Regards,

Chee Hoo

--
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+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/elasticsearch/CAGS0%2Bg-6noA3oFDQiGMQD1BdfxEK2w5rFpdXB9-iaeRie4ak%3DA%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.