即使经过数小时试图了解弹性搜索,我也无法理解如何使用特殊字符搜索相同的结果。
icu_folding我做错了什么?我怎样才能实现,“Škoda”和“斯柯达”的结果相同?它甚至可能吗?
https://github.com/pavoltravnik/examples/blob/master/elastic_search_settings.sh
答案 0 :(得分:0)
您正在icu_folding
子字段上应用name.sort
令牌过滤器,而不是name
字段本身,因此您的查询必须是这样的:
# 1 result as expected
curl -XGET 'localhost:9200/my_index/_search?pretty' -d'
{
"query": { "match": { "name.sort": "Škoda" } }
}'
# 0 results - I expected the same behaviour
curl -XGET 'localhost:9200/my_index/_search?pretty' -d'
{
"query": { "match": { "name.sort": "Skoda" } }
}'