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").startObject("properties").startObject("your_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"}
}
}
}
我正在使用elasticsearch版本:6.1.0和org.elasticsearch.client传输客户端版本5.6.4
答案 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。