0
Ich folgte die Dokumentation wie folgt:Elasticsearch wie Synonyme erstellen
# create the index:
curl -X PUT "http://localhost:9200/test" -d '
{
"settings": {
"analysis": {
"filter": {
"my_synonym_filter": {
"type": "synonym",
"synonyms": [
"british,english",
"queen,monarch"
]
}
},
"analyzer": {
"my_synonyms": {
"tokenizer": "standard",
"filter": [
"lowercase",
"my_synonym_filter"
]
}
}
}
}
}'
# testing the analyzer:
curl -X GET "http://localhost:9200/test/_analyze" -d '{"analyzer" : "my_synonyms", "text" : "Elizabeth is the English queen"}'
# create 2 records:
curl -X POST "http://localhost:9200/test/1" -d '{"ethnicity": "british"}'
curl -X POST "http://localhost:9200/test/2" -d '{"ethnicity": "english"}'
# check that you have 2:
curl -X POST "http://localhost:9200/test/_search" -d '{"query":{"match_all":{}}}'
# search:
curl -X POST "http://localhost:9200/test/_search" -d '{"query":{"query_string":{"query": "english"}}}'
und als zeigen in den letzten curl Befehl für Englisch gesucht, aber es gibt nur ein Ergebnis statt 2. Irgendwelche Ideen, wie man Synonyme funktionieren lassen?
Warum bist du "query_string" verwenden? Verwenden Sie stattdessen "match", ich wette, es wird funktionieren – bluesummers