我在弹性搜索中索引城市名称(例如"纽约"),这显然不能用空格标记。如何使用java api索引术语?
目前我的代码如下..
bulkRequest.add(client.prepareIndex("myIndex", "collection", if)
.setSource(mapper.writeValueAsString(entity)));
BulkResponse bulkResponse = bulkRequest.execute().actionGet();
答案 0 :(得分:0)
请完整地解释你的想法。我们需要在创建映射时指定分析器。
分析器是一个标记化器和一个或多个文本的组合 过滤器。标记器负责将文本拆分为 个人“代币”,可以是单词或单词。该 过滤器负责转换和删除令牌 索引内容
e.g。使所有文本小写,删除常用单词,索引同义词等。
该字段的分析器将决定tokenize。请检查分析仪的城市名称字段。
请查看Keyword分析仪。
在映射文件中可以看到Analyzer。在创建索引时,您需要设置分析器,否则将在索引字段时应用default analyzer(动态映射)。