Elasticsearch 报错 error At least one unigram is required but all tokens were ngrams

该错误在Elasticsearch中出现是因为Shingle过滤器配置禁用了一元组(unigrams)输出。默认情况下,Shingle过滤器会保留一元组,但当设置output_unigrams:false时,会导致所有分词都是大于一元的词组,从而引发此错误。解决方案是确保至少允许一元组的存在。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

At least one unigram is required but all tokens were ngrams

这个错误是因为

 "filter": {
          "myfilter_shingle":{
            "type": "shingle",
            //这里虽然设置了2,3,但是一个单词还是存在的因为默认是保留一元组
            "min_shingle_size": 2,
            //注意key不要空格,禁用一元组
            //如果设置为false,可能会报错 "At least one unigram is required but all tokens were ngrams"
            //"output_unigrams": false,
            "max_shingle_size": 3
          }
        }
        ```

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值