我使用Elasticsearch在"英语"文档。 但是,当使用" 韩语"时,我在前缀查询时遇到了问题。词语的
详细信息,文档中包含"한글"
等字词,我希望使用带有搜索字词的前缀查询来获取文档"한"
,还有"ㅎ"
。
我不能使用默认设置。
我看到它与icu_normalizer
或nfd decomposition
或其他内容有关。
但我无法完全理解我必须采取的方式来获得结果"한글"使用"ㅎ"搜索词。
有人可以帮助我吗?
提前致谢。
答案 0 :(得分:1)
也许这段代码可以帮助你。
curl -XPUT '127.0.0.1:9200/test' -d '{
"settings" : {
"analysis": {
"tokenizer" : {
"autocomplete_tokenizer" : {
"type" : "edgeNGram",
"min_gram" : "1",
"max_gram" : "30",
"token_chars": ["letter", "digit"]
}
},
"char_filter" : {
"nfd_normalizer" : {
"type" : "icu_normalizer",
"name": "nfc",
"mode": "decompose"
}
},
"analyzer": {
"autocomplete_analyzer": {
"type": "custom",
"char_filter": ["nfd_normalizer"],
"tokenizer": "autocomplete_tokenizer"
}
}
}
}
}'
curl '127.0.0.1:9200/test/_analyze?pretty=1&analyzer=autocomplete_analyzer' -d '아버지가 방에 들어가신다. 태권-V'