用JAVA创建mapping
package pylx.createMapping;
import java.net.InetAddress;
import java.net.UnknownHostException;
import org.elasticsearch.action.admin.indices.mapping.put.PutMappingRequest;
import org.elasticsearch.client.Client;
import org.elasticsearch.client.Requests;
import org.elasticsearch.client.transport.TransportClient;
import org.elasticsearch.common.transport.InetSocketTransportAddress;
import org.elasticsearch.common.xcontent.XContentBuilder;
import org.elasticsearch.common.xcontent.XContentFactory;
public class CreateMapping {
/**
* 创建索引名称
* @param indices 索引名称
*/
public static void createCluterName(String indices){
Client client =null;
try {
client = TransportClient.builder().build()
.addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName("192.168.10.10"), 9300));
} catch (UnknownHostException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
client.admin().indices().prepareCreate(indices).execute().actionGet();
client.close();
}
/**
* 创建mapping(feid("indexAnalyzer","ik")该字段分词IK索引 ;feid("searchAnalyzer","ik")该字段分词ik查询;具体分词插件请看IK分词插件说明)
* @param indices 索引名称;
* @param mappingType 索引类型
* @throws Exception
*/
public static void createMapping(String indices,String mappingType)throws Exception{
Client client =null;
try {
client = TransportClient.builder().build()
.addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName("168.192.122.100"), 9300));
} catch (UnknownHostException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
new XContentFactory();
XContentBuilder builder=XContentFactory.jsonBuilder()
.startObject()
.startObject(indices)
.startObject("properties")
.startObject("id").field("type", "integer").field("store", "yes").endObject()
.startObject("name").field("type", "string").field("store", "yes").field("term_vector","with_positions_offsets").field("analyzer","ik_max_word").field("search_analyzer","ik_max_word").field("include_in_all","true").field("boost",8).endObject()
.startObject("address").field("type", "string").field("store", "yes").field("term_vector","with_positions_offsets").field("analyzer","ik_max_word").field("search_analyzer","ik_max_word").field("include_in_all","true").field("boost",8).endObject()
.startObject("password").field("type", "string").field("store", "yes").field("term_vector","with_positions_offsets").field("analyzer","ik_max_word").field("search_analyzer","ik_max_word").field("include_in_all","true").field("boost",8).endObject()
.startObject("userinfo").field("type", "string").field("store", "yes").field("term_vector","with_positions_offsets").field("analyzer","ik_max_word").field("search_analyzer","ik_max_word").field("include_in_all","true").field("boost",8).endObject()
.endObject()
.endObject()
.endObject();
PutMappingRequest mapping = Requests.putMappingRequest(indices).type(mappingType).source(builder);
client.admin().indices().putMapping(mapping).actionGet();
client.close();
}
public static void main(String[] args)throws Exception {
createCluterName("lianan");
createMapping("lianan", "lianan");
}
}
//插入数据
curl -XPOST http://localhost:9200/lianan/lianan/2 -d'
{"id":1,"name":"汪冉冉12222","address":"地址海淀区","password":"密码是什么","userinfo":"用户信息,北京市中国江苏"}
'
结果
[root@c6-100-100 elasticsearch]# curl -XPOST http://localhost:9200/lianan/lianan/2 -d'
> {"id":1,"name":"汪冉冉12222","address":"地址海淀区","password":"密码是什么","userinfo":"用户信息,北京市中国江苏"}> '
{"_index":"lianan","_type":"lianan","_id":"2","_version":1,"_shards":{"total":2,"successful":1,"failed":0},"created":true}[root@c6-00-100 elasticsearch]#
curl -XPOST http://localhost:9200/lianan/lianan/4 -d'
{"id":1,"name":"汪冉冉12222","address":"地址海淀区","password":"密码是什么","userinfo":"中国驻洛杉矶领事馆遭亚裔男子枪击 嫌犯已自首"}
'
查询数据
curl -XPOST http://localhost:9200/lianan/lianan/_search -d'
{
"query" : { "match" : { "password" : "是什么" }},
"highlight" : {
"pre_tags" : ["<tag1>", "<tag2>"],
"post_tags" : ["</tag1>", "</tag2>"],
"fields" : {
"password" : {}
}
}
}
'
结果
[root@c6-100-100 elasticsearch]# curl -XPOST http://localhost:9200/lianan/lianan/_search -d'
> {
> "query" : { "match" : { "password" : "是什么" }},
> "highlight" : {
> "pre_tags" : ["<tag1>", "<tag2>"],
> "post_tags" : ["</tag1>", "</tag2>"],
> "fields" : {
> "password" : {}
> }
> }
> }
> '
{"took":14,"timed_out":false,"_shards":{"total":5,"successful":5,"failed":0},"hits":{"total":2,"max_score":3.089294,"hits":[{"_index":"lianan","_type":"lianan","_id":"4","_score":3.089294,"_source":
{"id":1,"name":"汪冉冉12222","address":"地址海淀区","password":"密码是什么","userinfo":"中国驻洛杉矶领事馆遭亚裔男子枪击 嫌犯已自首"}
,"highlight":{"password":["密码<tag1>是什么</tag1>"]}},{"_index":"lianan","_type":"lianan","_id":"2","_score":3.089294,"_source":
{"id":1,"name":"汪冉冉12222","address":"地址海淀区","password":"密码是什么","userinfo":"用户信息,北京市中国江苏"}
,"highlight":{"password":["密码<tag1>是什么</tag1>"]}}]}}[root@c6-100-100 elasticsearch]#