gpt4 book ai didi

python - 搜索-根据关键字最左端的接近程度来计算相关性?

转载 作者:行者123 更新时间:2023-12-03 02:10:24 25 4
gpt4 key购买 nike

我目前正在使用 ElasticSearch Python / Django Django-Haystack

我希望根据关键字在最左侧的接近程度对项目进行排名。



项目是

  • Jeff is friends with John, Laura and Edward
  • Laura is friends with Francis, Drake, Jessica and Jeff
  • Edward is friends with Laura, Jeff and Jeff


  • 如果Jeff是查询,我希望得到以下结果
  • Jeff is friends with John, Laura and Edward
  • Edward is friends with Laura, Jeff and Jeff
  • Laura is friends with Francis, Drake, Jessica and Jeff


  • 但是我得到这个:
  • Edward is friends with Laura, Jeff and Jeff
  • Jeff is friends with John, Laura and Edward
  • Laura is friends with Francis, Drake, Jessica and Jeff

  • 有任何想法吗?

    最佳答案

    当您查询elasticsearch时,您将返回每个文档的_score字段,并且如果您将explain=on参数添加到url,您还将获得一个关于分数的解释,通过该解释您可以了解为什么文档位于顶部或不位于顶部。

    无论如何,我猜您的第一个文档得分最高,因为它两次包含单词Jeff。第三个文档是最后一个文档,因为文本字段比其他字段长,并且它仅包含Jeff匹配项。这就是Lucene分数的计算方式。您可以对其进行调整,例如,禁用字段长度会影响得分的事实,但是除非您愿意编写一些Lucene代码,否则您无法完全更改其背后的逻辑。您可以编写自己的Lucene Similarity实现并将其插入自定义SimilarityProvider的elasticsearch中。看一看this示例。

    关于python - 搜索-根据关键字最左端的接近程度来计算相关性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12429232/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com