eli*_*sah 4 java elasticsearch
我正在尝试从MySQL数据库迁移到ElasticSearch,因此我可以在每个字段上使用BM25相似性的全文搜索技术.我正在使用JAVA从MySQL获取条目并将它们添加到ElasticSearch索引中.
我正在使用JAVA 索引API构建索引,但我无法找到一种方法来设置我的字段的BM25相似性.
我认为MySQL和dev的表产品表是一个索引,产品是索引类型.
原始表产品包含以下字段:
你可以在我的Github上找到代码,如果你想看看.这是我用Maven集成配置的分叉项目.
欢迎任何建议和任何帮助,谢谢!
我找到了问题的答案.
这是代码:
Settings settings = ImmutableSettings
.settingsBuilder()
.put("cluster.name", "es_cluster_name"))
// Define similarity module settings
.put("similarity.custom.type", "BM25")
.put("similarity.custom.k1", 2.0f)
.put("similarity.custom.b", 1.5f)
.build();
Client client = new TransportClient(settings);
Run Code Online (Sandbox Code Playgroud)
在实例化客户端之前,您似乎可以在"设置"中定义要使用的相似性模块.
以下是目前支持的相似性模块列表elasticsearch:默认值,BM25,DFR,IB,LMDirichlet和LMJelinekMercer.您可以在下面的设置中指定要使用的那个:
.put("similarity.custom.type", "..." )
Run Code Online (Sandbox Code Playgroud)
每个相似性都有自己的参数,您也可以配置这些参数以便正确使用它.
注意:代码在elasticsearch1.1.0上测试.
| 归档时间: |
|
| 查看次数: |
706 次 |
| 最近记录: |