Elasticsearch low ngram导致额外的无关结果

时间:2016-03-14 13:51:10

标签: python elasticsearch n-gram

在这台Elasticsearch机器上,我有一个最小尺寸为3的ngram过滤器。

'my_ngram': {
    'type': 'nGram',
    'max_gram': 50,
    'min_gram': 3
},

这非常适合搜索“点心”之类的东西,我会收到有关点心的东西。

然而,当我搜索“牛排”时,由于ngram是如此之低,我得到的结果包含“蒸汽”和“偷”。

将ngram最小值提高到5并重新编制索引后,修复“牛排”返回其他结果,但现在搜索“点心”则不返回任何内容。

正在从python 2.7

运行搜索
search = Search(doc_type=('post',), index='sitename')
search = search.query('multi_match', query='dimsum', fields=['title^2', 'content'], operator='and')
response = search.execute()

有谁能告诉我如何调整这一点,以便搜索更加“点”?我不知道其他哪些信息与此相关,但如果需要,我会分享更多信息。

0 个答案:

没有答案