开发者社区 > 大数据与机器学习 > 检索分析服务 Elasticsearch版 > 正文

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

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

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

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

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

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

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

热门讨论

热门文章

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载