Elastic Search Java Api 创建索引结构,添加索引详解编程语言

创建TCP客户端

Client client = new TransportClient() 
             .addTransportAddress(new InetSocketTransportAddress( 
                     "localhost", 9300));
创建索引 
	client.admin().indices().prepareCreate("pages").execute().actionGet();
创建索引结构 
	XContentBuilder builder=XContentFactory 
			.jsonBuilder() 
			.startObject() 
			    .startObject("sina") 
				.startObject("properties") 
					.startObject("article_title") 
						.field("type", "string") 
						.field("store", "yes") 
						.field("analyzer","ik") 
						.field("index","analyzed") 
					.endObject() 
					.startObject("article_content") 
						.field("type", "string") 
						.field("store", "no") 
						.field("analyzer","ik") 
						.field("index","analyzed") 
					.endObject() 
					.startObject("article_url") 
						.field("type", "string") 
						.field("store", "yes") 
						.field("index","not_analyzed") 
					.endObject() 
				.endObject() 
			.endObject() 
		.endObject(); 
PutMappingRequest mapping = Requests.putMappingRequest("pages").type("sina").source(builder); 
client.admin().indices().putMapping(mapping).actionGet();
添加索引数据		 
IndexResponse response = client.prepareIndex("pages", "sina", null) 
		.setSource(jsonBuilder() 
			.startObject() 
			      .field("article_title", Bytes.toString(r.getValue("article".getBytes(), "title".getBytes()))) 
			       .field("article_content", Bytes.toString(r.getValue("article".getBytes(), "content".getBytes()))) 
			        .field("article_url", Bytes.toString(r.getValue("article".getBytes(), "url".getBytes()))) 
			   .endObject() 
			   ) 
		.execute() 
		.actionGet(); 
			 
client.close();

原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/10348.html

(0)
上一篇 2021年7月19日
下一篇 2021年7月19日

相关推荐

发表回复

登录后才能评论