JAVA 创建 ElaticSearch mapping
来源:互联网 发布:中国农大网络教育首页 编辑:程序博客网 时间:2024/06/05 17:58
用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 blocke.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 blocke.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]#
0 0
- JAVA 创建 ElaticSearch mapping
- ElasticSearch java API--创建mapping
- Elasticsearch用java api 创建mapping
- elaticsearch 基本概念
- Elasticsearch Java API 之Index type mapping json创建修改
- Elasticsearch教程,Elasticsearch Java API创建Mapping,指定分词器
- 自己创建 hibernate mapping
- elaticsearch之discovery模块
- ElaticSearch安装调试
- elaticsearch的API
- elaticsearch安装及相关插件
- Elaticsearch REST API常用技巧
- elaticsearch学习一 基本安装
- 对一个Servlet创建多个Mapping
- linux下es mapping post创建索引
- es 为某个type创建mapping
- mapping创建 添加记录到es
- Elasticsearch5.3 如何创建mapping demo
- iphone NSString 字符串处理:截取字符串、匹配字符串、分隔字符串
- Kettle6.0连接MongoDB报错
- Roman to integer
- Linux 安装各种情况记录
- JAVA运算符优先级与ASCII码
- JAVA 创建 ElaticSearch mapping
- 【vijos】 1781 同余方程 exgcd
- Java:一些使用上的注意
- Keras安装
- 编写的全加器与半加器的代码
- 搞定需求变化
- Roadblock
- freemarker 将object转化为json类型
- PAT(A) - 1096. Consecutive Factors (20)