我们正在使用ElasticSearch从我们的数据库中返回食谱。
我们的问题是ElasticSearch会惩罚详细内容:
对于像“Chicken Pasta”这样的搜索词,排名将如下: 1.“鸡肉意大利面” 2.“美味鸡肉面食”
此外, 1.“可怕的鸡肉面食” 2.“非常美味的鸡肉意大利面”
对于我们的域名,在食谱的某些部分,我们不想惩罚冗长的内容。即在某些限制条件下,许多成分应该与一些成分一样好。
我真的很感激我们如何解决这个问题。
尼克
答案 0 :(得分:0)
您可以使用自定义评分功能自行计算结果的分数。这是一个很棒的网络广播,解释了自定义评分功能:
http://www.elasticsearch.org/videos/introducing-custom-scoring-functions/
您必须使用的查询是:
function_score
查询提供自己的评分。您将在以下文档中找到有关function_score查询的最重要信息:
http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/query-dsl-function-score-query.html