使用elasticsearch java api创建同义词和映射索引
我试图通过JavaAPI在elasticsearch中实现Syonyms。我没有任何例外,但它就是不起作用 当我想用BoolQueryBuilder搜索时,如果我键入某个存在的事物的同义词,它将找不到任何东西使用elasticsearch java api创建同义词和映射索引,java,
elasticsearch,Java,
elasticsearch,我试图通过JavaAPI在elasticsearch中实现Syonyms。我没有任何例外,但它就是不起作用 当我想用BoolQueryBuilder搜索时,如果我键入某个存在的事物的同义词,它将找不到任何东西 Settings settings = Settings.builder().loadFromSource(jsonBuilder() .startObject() .startObject("analysis") .startObject("analy
Settings settings = Settings.builder().loadFromSource(jsonBuilder()
.startObject()
.startObject("analysis")
.startObject("analyzer")
.startObject("synonym")
.field("tokenizer", "whitespace")
.field("filter", new String[] {"synonym"})
.endObject()
.endObject()
.startObject("filter")
.startObject("synonym")
.field("type", "synonym")
.field("synonyms", new String[] {"Highlandstreet, ravioli"})
.field("ignore_case", true)
.field("expand", true)
.endObject()
.endObject()
.endObject()
.endObject().string(), XContentType.JSON).build();
XContentBuilder content = jsonBuilder()
.startObject()
.startObject("properties")
.startObject("title")
.field("type", "string")
.field("analyzer", "synonym")
.endObject()
.startObject("location")
.field("type", "geo_point")
.endObject()
.endObject()
.endObject();
CreateIndexResponse response =
node.client().admin().indices().prepareCreate("index_name").setSettings(settings)
.addMapping("mapping_name1", content)
.addMapping("mapping_name2", content)
.addMapping("mapping_name3", content)
.addMapping("mapping_name4", content)
.addMapping("mapping_name5", content)
.addMapping("mapping_name6", content)
.addMapping("mapping_name7", content).get();