Is there a way to solve the following problem?
I have created a search field with suggestions functionality. The user is
able to search for names, categories, etc. These fields are mapped like:
{
"settings": {
"analysis": {
"analyzer": {
"*autocomplete*": {
"type": "custom",
"tokenizer": "*edge_ngram_tokenizer*",
"filter": [ "lowercase" ]
}
},
"tokenizer": {
"*edge_ngram_tokenizer*": {
"type": "edgeNGram",
"min_gram": 1,
"max_gram": 20,
"token_chars": ["letter", "digit"]
}
}
}
},
"mappings": {
"my_type": {
"dynamic": "strict",
"properties": {
"id": {
"type": "long"
},
"*name*": {
"type": "string",
"analyzer": "english",
"fields": {
*"autocomplete": {*
* "type": "string", *
* "index_analyzer": "autocomplete", *
* "search_analyzer": "standard"*
* }*
}
},
"*category*": {
"type": "string",
"analyzer": "english",
"fields": {
*"autocomplete": {*
* "type": "string", *
* "index_analyzer": "autocomplete", *
* "search_analyzer": "standard"*
* }*
}
},
...
Now when i do something like this:
curl -XGET "http://localhost:9200/my_index/my_type/_search" -d'
{
"_source": false,
"query": {
"multi_match": {
"query": "pet",
"fields": [
"*.*autocomplete*"
]
}
}
}'
I get results like these:
- Peter
- Peter
- Peter
- Petra
- Petra
etc.
*How can I reduce (distinct) the results on server side like these?*
- Peter
- Petra
- etc.
thx, Ramy
--
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 [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/elasticsearch/859b067e-f2cb-4cc4-beef-bba547a85906%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.