当前位置: 首页 > 面试题库 >

Elasticsearch中的BM25相似性调整

卜高超
2023-03-14
问题内容

Elasticsearch
文档说我可以通过将以下内容添加到来更改所有字段的相似性elasticsearch.yml

index.similarity.default.type: BM25

..我已经做过,但是我也想微调场长归一化,它说我可以在这里做:http :
//www.elasticsearch.org/guide/en/elasticsearch/guide/current/pluggable
-similarites.html#bm25-tunability

但这并没有告诉我在何处/如何设置k1b参数。我可以添加一行elasticsearch.yml以实现这一目标吗?

谢谢。


问题答案:

您可以查看此
文档,说明如何配置BM25相似性

本质上,您可以在索引设置中定义类似于自定义分析器的自定义bm25相似性

例:

 curl -XPUT "http://<server>/<index>" -d '
{
  "settings": {
    "similarity": {
      "custom_bm25": { 
        "type": "BM25",
        "b":    0 ,
         "k1" : 0.9

      }
    }
  }'


 类似资料:
  • 问题内容: 我正在使用Elasticsearch进行研究。我打算使用余弦相似度,但我注意到它不可用,而我们将BM25作为默认评分功能。 有什么理由吗?余弦相似度是否不适用于查询文档?为什么选择BM25作为默认值?谢谢 问题答案: 长期的Elasticsearch使用TF / IDF算法来查找查询中的相似性。但是以前的数字版本更有效地更改为BM25。您可以阅读文档中的信息。好的文章解释了什么是ela

  • 问题内容: 我需要在基于Java的应用程序中使用Wordnet。我想要: 搜索同义词集 找到同义词集之间的相似性/相关性 我的应用程序使用RDF图,我知道Wordnet中有SPARQL端点,但是我想最好有一个数据集的本地副本,因为它不是太大。 我发现以下罐子: 通用库 -JAWS http://lyle.smu.edu/~tspell/jaws/index.html 通用库 -JWNL http:

  • 问题内容: 好了,在整日努力梳理头发之后,我决定从社区中获取一些建议。 应该提到的是,我对Elasticsearch还是相当陌生。 我的想法是,我有一个包含一些文档的ES索引,并且仅当尚未索引具有相似字段内容(但不一定等于)的现有文档时,才需要索引新文档。 我可以在多个字段上执行匹配查询并获得查询的全局分数,但是由于该分数不是可用最大分数的百分比,因此我不确定如何设置阈值来确定是否可以插入文档。

  • 问题内容: 改写: 在我的项目中,我有图像。每个图像有5个标签,范围为[1,10]。我用Elasticsearch上传了这些标签: 我将这些文件加载​​到类型为“ img”的索引“ my_project”中的elasticsearch中: 我上传的其他示例文件: 在我的应用程序中,向量要长得多,但是具有固定数量的唯一元素。我喜欢这些文件中的20M。 现在,我想找到给定向量的相似文档。向量具有更多公

  • 我正在使用最新版本的elasticsearch(在docker中)和spring boot(最新版本)应用程序,试图在其中搜索类似的文档。我的文档类有一个字符串字段: 当我使用内置的方法时,我的查询得到了很多结果: 然而,我不知道这些文档有多相似,因为它只是我的文档对象的一个页面。在执行查询时,能够看到相似性分数或设置相似性阈值将非常棒。我应该做些不同的事情吗?

  • 问题内容: 正如问题所暗示的,我想知道线程上的sleep和join方法之间的相似性。我经历了许多描述睡眠和加入方法之间差异的问题。但是我想知道不同的场景,在这些场景中,睡眠和加入方法可以互换使用。根据我的想法,以下代码应该以相同的方式工作。我有一个主线程,在其中启动了一个新线程(仅1个),并且我希望主线程等待新线程完成一段时间。代码如下: 要么, 但是,当我运行这段代码时,没有得到预期的结果。为什