我正在尝试仅返回_score
超过1的文档。我不知道该怎么做。我可以获得所有返回的文档,并在ruby代码中单独检查,但我想这可以直接从elasticsearch完成。
这是我现在的查询。
tag_results = Tire.search $index_elasticsearch do
query do
boolean do
should { fuzzy(:tags, query, {:min_similarity => 0.85}) }
should { string "description:#{query}" }
should { string "description1:#{query}" }
end
end
end
提前致谢!
答案 0 :(得分:2)
您可以在搜索中使用min_score参数指定要接受结果必须满足的最低分数。
在实践中,分数各不相同。你不会得到一致的结果。更好的方法是使查询的要求足够高,以便它们不包含仅略微相关的结果。
例如,请查看minmum_should_match
和bool
查询中的match
参数。它可以设置为例如"60%"
答案 1 :(得分:0)
所以我发现有一种方法可以将min_score传递给Tire。
IE。如果你只想要得分>的结果1
Tire.search $index_elasticsearch do
min_score 1
end