elasticsearch,querydsl,Java,Lucene,Indexing,elasticsearch,Querydsl" /> elasticsearch,querydsl,Java,Lucene,Indexing,elasticsearch,Querydsl" />

Java 如何实现elasticsearch自定义相似性插件?

Java 如何实现elasticsearch自定义相似性插件?,java,lucene,indexing,elasticsearch,querydsl,Java,Lucene,Indexing,elasticsearch,Querydsl,我需要覆盖Lucene默认的相似性类,Elasticsearch使用该类进行索引和搜索。在搜索网上,我发现了一些类似的实现,它们做着类似的事情。我的困难在于我不知道如何在我的代码中实际实现它。我找到了一些资源: 我无法理解如何在索引过程中直接使用这一行,以便将默认相似性更改为自定义相似性 org.elasticsearch.index.similarity.CustomSimilarityProvider 谁能告诉我怎么做?我试着在我的机器上运行同样的东西,但它对我不起作用。是否需要修改此行或

我需要覆盖Lucene默认的相似性类,Elasticsearch使用该类进行索引和搜索。在搜索网上,我发现了一些类似的实现,它们做着类似的事情。我的困难在于我不知道如何在我的代码中实际实现它。我找到了一些资源:

我无法理解如何在索引过程中直接使用这一行,以便将默认相似性更改为自定义相似性

org.elasticsearch.index.similarity.CustomSimilarityProvider

谁能告诉我怎么做?我试着在我的机器上运行同样的东西,但它对我不起作用。是否需要修改此行或路径


提前谢谢

您发布的json是使用。在同一请求中,您可以为该索引提供设置、映射等。在这些设置中,您可以注册自定义相似性

创建索引后,您需要使用将文档索引到其中

此外,从0.90开始,您还可以通过映射配置自定义相似性。

您发布的链接用于旧版本的elasticsearch

基于elasticsearch taste插件,我为2.1.1版制作了一个简单的自定义相似性插件,详细解释了所有步骤
. 我只保留了三个java文件和一个配置文件。我希望你觉得它有用。

答案有用吗?可能没有。他想知道如何注入自己的Java编写的相似性类/提供者,而不是Elasticsearch提供的各种现成的类/提供者。
curl -XPOST 'http://host:port/tweeter/' -d '
{
  "settings": {
    "similarity": {
      "index": {
        "type": "org.elasticsearch.index.similarity.CustomSimilarityProvider"
      },
      "search": {
        "type": "org.elasticsearch.index.similarity.CustomSimilarityProvider"
      }
    }
  }
}'