ES使用ngram_tokenizer分词,搜索不出来是什么原因呢?

ES使用ngram_tokenizer分词, 加上ngram_tokenizer特殊符号分词, 分词间隔1, 按全称包含-的搜索不出来了,比如test_push,是什么原因呢?

展开
收起
哈喽!小陈 2022-08-29 17:54:11 987 分享 版权
1 条回答
写回答
取消 提交回答
  • 全栈JAVA领域创作者

    可能是因为ngram_tokenizer会将搜索词切分成多个词,然后组合成一个短语进行搜索。在这种情况下,test_push会被切分成test和push两个词,然后组合成test_push这个短语进行搜索。如果短语中不包含-,则无法匹配到结果。

    为了解决这个问题,可以考虑使用其他分词器,如standard_tokenizer或whitespace_tokenizer,或者修改搜索条件,使用短语匹配而不是精确匹配。

    2023-06-07 07:49:38
    赞同 展开评论

阿里云检索分析服务Elasticsearch版兼容开源ELK功能,免运维全托管,提升企业数据检索与运维分析能力。

收录在圈子:
还有其他疑问?
咨询AI助理