infinilabs / analysis-ik

🚌 The IK Analysis plugin integrates Lucene IK analyzer into Elasticsearch and OpenSearch, support customized dictionary.
Apache License 2.0
16.48k stars 3.27k forks source link

中文简繁体同时存在时的检索 #1043

Open yuan67-top opened 7 months ago

yuan67-top commented 7 months ago

场景

现在在es7.6.2中有一个文档,文档内容有简体字和繁体字同时存在,例如id为1的文档,title=简体字繁體字同時存在,当用户检索输入的是“繁体字”时能否实现让id为1的文档能够命中,或者是用户检索输入的是“时”,该文档也能够命中?要求不能够改变文档原始值,要保证文档内容的准确性。

个人解决思路

1.同义词,该方案存在单字检索不命中的问题。 2.将用户输入全部转为繁体字做检索,该方案存在当该文档检索的该字词为简体时不命中检索的问题。 3.用norialzer,貌似改方案在使用过程中不支持分词。

medcl commented 6 months ago

3吧,都stconvert norialzer 统一转成简体再ik进行分词。

yuan67-top commented 6 months ago

norialzer只能是keywrod,不支持分词

medcl commented 6 months ago

stconvert 的 charfilter 就行了。