JnB*_*ymn 5 relevance elasticsearch function-query
在Solr中,我可以使用query函数查询返回查询的数字分数,我可以在bf参数的上下文中使用它bf=product(query('cat'),query('dog'))来将两个相关性分数相乘.
Elasticsearch的搜索API通常更灵活,但我无法弄清楚如何实现同样的壮举.我可以_score在function_query的script_function中使用,但我只能使用_score主查询.如何合并其他查询的分数?我怎样才能将得分相乘?
您可以使用查询编写 TF*IDF 评分函数的脚本function_score。像这样(忽略 Lucene 的查询和长度规范化):
"script": "tf = _index[field][term].tf(); idf = (1 + log ( _index.numDocs() / (_index[field][term].df() + 1))); return sqrt(tf) * pow(idf,2)"
Run Code Online (Sandbox Code Playgroud)
您可以将“猫”和“狗”的这些函数结果相乘,并将它们添加到原始查询分数中。
这是完整的查询要点。
| 归档时间: |
|
| 查看次数: |
1287 次 |
| 最近记录: |