elasticsearch,Java,elasticsearch" /> elasticsearch,Java,elasticsearch" />

使用elasticsearch java api创建同义词和映射索引

使用elasticsearch java api创建同义词和映射索引,java,elasticsearch,Java,elasticsearch,我试图通过JavaAPI在elasticsearch中实现Syonyms。我没有任何例外,但它就是不起作用 当我想用BoolQueryBuilder搜索时,如果我键入某个存在的事物的同义词,它将找不到任何东西 Settings settings = Settings.builder().loadFromSource(jsonBuilder() .startObject() .startObject("analysis") .startObject("analy

我试图通过JavaAPI在elasticsearch中实现Syonyms。我没有任何例外,但它就是不起作用

当我想用BoolQueryBuilder搜索时,如果我键入某个存在的事物的同义词,它将找不到任何东西

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();