Elasticsearch完成建议spring mvc

时间:2017-12-13 07:25:17

标签: java spring-mvc elasticsearch

Hi EveryOne我是elasticsearch的新手我希望在elasticsearch和spring mvc的帮助下有一个自动完成的文本框。 我在堆栈上发现了这个链接上的东西。

link:ElasticSearch completion suggester with Java API

但是可以创建映射。

CreateIndexRequestBuilder createIndexRequestBuilder = client.admin() .indices().prepareCreate("your_index_name"); 
XContentBuilder mappingBuilder = jsonBuilder().startObject().startObject("your_type_name").st‌​artObject("propertie‌​s").startObject("you‌​r_completion_field")‌​.field("type", "completion").endObject().endObject() .endObject().endObject(); 
createIndexRequestBuilder.addMapping("yoru_index_name", 
mappingBuilder); createIndexRequestBuilder.execute().actionGet();

CreateIndexRequestBuilder createIndexRequestBuilder = ElasticsearchUtil.trannsportClient().admin().indices().prepareCreate("mapping");
XContentBuilder mappingBuilder = jsonBuilder()
            .startObject("users").startObject("properties")
            .startObject("content").field("type", "string").endObject()
            .startObject("search").field("type", "completion").endObject()
            .endObject().endObject();
 createIndexRequestBuilder.addMapping("mapping", mappingBuilder); 
 createIndexRequestBuilder.execute().actionGet();

我想要这样的东西:

   "mappings": {
    "article": {
    "properties": {
    "content": {
      "type": "string"
    },
    "completion_suggest": {
    "type": "completion"}
   }
 }
}

或者,如果你能给我一些spring spring完成建议的新代码,那就很好。

我正在使用elasticsearch版本:6.1.0和org.elasticsearch.client传输客户端版本5.6.4

1 个答案:

答案 0 :(得分:0)

使用elasticsearch时,您应该使用与弹性搜索服务器相同版本的Java客户端库。所以首先将您的库版本更新为6.1.0

然后按照官方文档的建议尝试关注https://www.elastic.co/guide/en/elasticsearch/client/java-api/6.1/java-admin-indices.html#java-admin-indices-create-index