运行弹性版本 1.6
我正在尝试为我在 elasticsearch 中的索引设置自定义分析器。我的索引 / 有一些属性,其中包含一些重音和特殊字符。
就像我的一个属性名称具有这样的值,"name" => "Está loca"。所以我想要实现的是,每当我尝试通过这种方式搜索时, http://localhost:9200/tutorial/helloworld/_search?q=esta
我应该得到"Está loca"的结果。我已经浏览了以下链接并配置了必要的分析器,该分析器在链接中进行了说明。 https://www.elastic.co/guide/en/elasticsearch/guide/current/asciifolding-token-filter.html
curl -XPUT 'localhost:9200/tutorial?pretty' -H 'Content-Type: application/json' -d'
{
"mappings":{
"helloworld":{
"properties": {
"name": {
"type": "string",
"analyzer": "standard",
"fields": {
"folded": {
"type": "string",
"analyzer": "folding"
}
}
}
}
}
},
"settings": {
"analysis": {
"analyzer": {
"folding": {
"tokenizer": "standard",
"filter": [ "lowercase", "asciifolding" ]
}
}
}
}
}'
我在创建索引时进行了配置,并制作了一些这样的条目进行测试,
curl -X POST 'http://localhost:9200/tutorial/helloworld/1' -d '{ "name": "Está loca!" }'
curl -X POST 'http://localhost:9200/tutorial/helloworld/2' -d '{ "name": "Está locá!" }'
但是在像这样搜索时, http://localhost:9200/tutorial/helloworld/_search?q=esta 什么也没发生。我只希望每当用户以任何语言(例如英语)搜索时,它都应该得到相同的结果。请任何人都可以提供帮助,我如何才能在过去 1 周内实现这一目标。