analysis-ik
analysis-ik copied to clipboard
利用ik分词器搜索句子遇到的问题
我用ik_max_word分词器建的索引(为了保证包含所有情况,必须要用ik_max_word),在搜索句子的时候我指定分词器为ik_smart,发现搜索不到结果,原因已经知道了match_phrase不允许位置有overlap,我指定句子的分析器为ik_max_word的时候可以查询的到。但是ik_max_word将句子分割出很多token,还没有standard分词器建索引查找快呢。考虑到match_phrase的限制,针对于文章建索引,查找句子,大家有没有什么好的建议?
请问我使用 match_phrase 查询,只要设置了 analyzer 选项,不管是 ik_smart 还是ik_max_word 都查不到结果,但是去掉就可以,这是为什么
当不配置analyzer时,索引和搜索会使用默认standard分词器,而standard分词器对于中文是基于字符的粒度进行分词,比如"我是中国人"被standard分词后结果是"我","是","中","国","人",当搜索时同理,所以通过match_pharse时是一定能匹配上的,但这样做会导致是用match时会匹配到很多无意义的结果