docment为:
xxxxx成都三日游xxxxx
或者
xxxx成都三天四晚套餐xxxxx
但搜索的时候输入:成都3日 或者 成都3天4晚 不能精确匹配到上面的结果
尝试过配置同义词:
三, 3
四, 4
.....
但由于分析的时候用的:ik_max_word
查询的时候为了提高精度,用的ik_smart,输入成都3日 会被分词成:成都 和 3日 同义词就匹配不上了
也想过将输入的词直接用java代码 将阿拉伯数字统一换成中文数字,但感觉麻烦且不优雅
有大神支招吗?万分感谢!
xxxxx成都三日游xxxxx
或者
xxxx成都三天四晚套餐xxxxx
但搜索的时候输入:成都3日 或者 成都3天4晚 不能精确匹配到上面的结果
尝试过配置同义词:
三, 3
四, 4
.....
但由于分析的时候用的:ik_max_word
查询的时候为了提高精度,用的ik_smart,输入成都3日 会被分词成:成都 和 3日 同义词就匹配不上了
也想过将输入的词直接用java代码 将阿拉伯数字统一换成中文数字,但感觉麻烦且不优雅
有大神支招吗?万分感谢!
2 个回复
rochy - rochy_he
赞同来自: chanfy
这样无论输入是中文或者英文最后都是都会被解析为阿拉伯数字,就可以满足你的搜索要求了。
不过搜索了一下没有找到现成的数字过滤器,所以目前最佳的方案还是自己用 java 代码自己转换一下;或者你自己开发一个插件。
liujia
赞同来自:
否则你说的"为了提高精度", 我觉得不太对, 反过来了吧.