Elasticsearch查询结果太多

时间:2013-02-14 13:26:19

标签: elasticsearch dsl

我想设置一个简单的搜索,通过自定义排序返回简单的结果,我根据自定义分数得到的订单很好。

问题在于此查询

"query": {
    "query_string": {
        "query": query_term,
        "fields": ["name_auto"],
    }
}

注意:name_auto是弹性的边缘N克字段

如果查询没有任何意义,我总是得到一个结果集。

示例:

我有一个弹性填充索引,其中填充了所有Android应用程序的名称。 如果我搜索 face ,我会回复所有与游戏商店评论相关的结果,menans [facebook,facebook messenger,...]

问题在于,当我查询类似 facesomeuselesschars 之类的东西时,我仍然会得到与以前相同的结果,但确定没有任何东西可以匹配“someuselesschars”。

任何人都可以提供帮助吗

1 个答案:

答案 0 :(得分:2)

ElasticSearch将始终返回与您的查询匹配的结果,即使这些结果的得分较差。您对'facesomeuselesschars'的查询将匹配因为您的ngrams而在其中包含'face'的任何内容(例如,您的查询的前四个字符将匹配索引中的多个标记)。

查询中的其余字符只会降低返回匹配的分数,但不会阻止它返回。

如果您想设置结果必须达到的最低分数,可以使用min_score参数。