防城港网站建设,甘肃网络公司网站建设,重庆网站推广联系方式,化妆品网络营销方案Java后端-学习路线-笔记汇总表【黑马程序员】ElasticSearch-学习笔记01【ElasticSearch基本介绍】【day01】ElasticSearch-学习笔记02【ElasticSearch索引库维护】ElasticSearch-学习笔记03【ElasticSearch集群】ElasticSearch-学习笔记04【Java客户端操作索引库】【day02】Ela… Java后端-学习路线-笔记汇总表【黑马程序员】ElasticSearch-学习笔记01【ElasticSearch基本介绍】【day01】ElasticSearch-学习笔记02【ElasticSearch索引库维护】ElasticSearch-学习笔记03【ElasticSearch集群】ElasticSearch-学习笔记04【Java客户端操作索引库】【day02】ElasticSearch-学习笔记05【SpringDataElasticSearch】目录
01-ES课程介绍
02-使用Java客户端创建索引库
03-使用Java客户端设置mapping步骤
04-使用java客户端设置mapping映射
05-向索引库中添加文档
06-添加文档的第二种方式
07-索引库查询_根据id查询 08-索引库查询_根据term查询
09-索引库查询_queryString查询
10-查询分页设置
插入数据
设置分页
11-查询结果高亮显示 01-ES课程介绍 学习目标 能够使用java客户端完成创建、删除索引的操作 能够使用java客户端完成文档的增删改的操作 能够使用java客户端完成文档的查询操作 能够完成文档的分页操作 能够完成文档的高亮查询操作 能够搭建Spring Data ElasticSearch的环境 能够完成Spring Data ElasticSearch的基本增删改查操作 能够掌握基本条件查询的方法命名规则 管理ES的客户端工具postman、head插件。 02-使用Java客户端创建索引库 一、使用Java客户端管理ES1、创建索引库 步骤 1创建一个Java工程 2添加jar包添加maven的坐标 3编写测试方法实现创建索引库 1、创建一个Settings对象相当于是一个配置信息主要用于配置集群的名称。 2、创建一个客户端Client对象 3、使用client对象创建一个索引库 4、关闭client对象 9201、9202、9203对外提供http服务的端口号 9301、9302、9303tcp形式连接ES服务器(InetSocketTransportAddress方法)。 package com.itheima.es;import org.elasticsearch.client.transport.TransportClient;
import org.elasticsearch.common.settings.Settings;
import org.elasticsearch.common.transport.InetSocketTransportAddress;
import org.elasticsearch.transport.client.PreBuiltTransportClient;
import org.junit.Test;import java.net.InetAddress;public class ElasticSearchClientTest {Testpublic void createIndex() throws Exception {//1、创建一个Settings对象相当于是一个配置信息主要配置集群的名称。Settings settings Settings.builder().put(cluster.name, my-elasticsearch).build();//2、创建一个客户端Client对象TransportClient client new PreBuiltTransportClient(settings);//向client中添加三个ip地址的端口号防止一个服务器不好使然后出现bugclient.addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName(127.0.0.1), 9301));client.addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName(127.0.0.1), 9302));client.addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName(127.0.0.1), 9303));//3、使用client对象创建一个索引库client.admin().indices().prepareCreate(index_hello).get();//.get()执行操作//index_hello索引名称//4、关闭client对象client.close();}
} ElasticSearch搭建集群时的闪退问题 03-使用Java客户端设置mapping步骤 一、使用Java客户端管理ES1、创建索引库 步骤 1创建一个Java工程 2添加jar包添加maven的坐标 3编写测试方法实现创建索引库 1、创建一个Settings对象相当于是一个配置信息主要配置集群的名称。 2、创建一个客户端Client对象 3、使用client对象创建一个索引库 4、关闭client对象2、使用Java客户端设置Mappings 步骤 1创建一个Settings对象 2创建一个Client对象 3创建一个mapping信息应该是一个json数据可以是字符串也可以是XContextBuilder对象 4使用client向es服务器发送mapping信息 5关闭client对象 04-使用java客户端设置mapping映射 package com.itheima.es;import org.elasticsearch.client.transport.TransportClient;
import org.elasticsearch.common.settings.Settings;
import org.elasticsearch.common.transport.InetSocketTransportAddress;
import org.elasticsearch.common.xcontent.XContentBuilder;
import org.elasticsearch.common.xcontent.XContentFactory;
import org.elasticsearch.transport.client.PreBuiltTransportClient;
import org.junit.Test;import java.net.InetAddress;public class ElasticSearchClientTest {Testpublic void createIndex() throws Exception {//1、创建一个Settings对象相当于是一个配置信息主要配置集群的名称。Settings settings Settings.builder().put(cluster.name, my-elasticsearch).build();//2、创建一个客户端Client对象TransportClient client new PreBuiltTransportClient(settings);//向client中添加三个ip地址的端口号防止一个服务器不好使然后出现bugclient.addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName(127.0.0.1), 9301));client.addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName(127.0.0.1), 9302));client.addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName(127.0.0.1), 9303));//3、使用client对象创建一个索引库client.admin().indices().prepareCreate(index_hello).get();//index_hello索引名称、get()执行操作//4、关闭client对象client.close();}Testpublic void setMappings() throws Exception {//1、创建一个Settings对象Settings settings Settings.builder().put(cluster.name, my-elasticsearch).build();//2、创建一个Client对象创建一个TransportClient对象TransportClient client new PreBuiltTransportClient(settings).addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName(127.0.0.1), 9301)).addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName(127.0.0.1), 9302)).addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName(127.0.0.1), 9303));//3、创建一个mapping信息应该是一个json数据可以是字符串也可以是XContextBuilder对象/*{article: {type名称表名文章properties: {id: {//字段type: long,store: true// index: not_analyzed},title: {type: text,store: true,index: true,analyzer: ik_smart//ik_max_word、standard},content: {type: text,store: true,index: true,//analyzedanalyzer: ik_smart//ik_max_word、standard}}}}*/XContentBuilder builder XContentFactory.jsonBuilder().startObject().startObject(article)//type名称.startObject(properties).startObject(id).field(type, long).field(store, true).endObject().startObject(title).field(type, text).field(store, true).field(analyzer, ik_smart).endObject().startObject(content).field(type, text).field(store, true).field(analyzer, ik_smart).endObject().endObject().endObject().endObject();//4、使用client向es服务器发送mapping信息使用client把mapping信息设置到索引库中client.admin().indices().preparePutMapping(index_hello)//设置要做映射的索引设置索引库名称.setType(article)//设置要做映射的type设置type名称.setSource(builder)//mapping信息可以是XContentBuilder对象也可以是json格式的字符串.get();//5、关闭client对象关闭链接client.close();}
}
05-向索引库中添加文档 es集群可以包含多个索引indices数据库每一个索引可以包含多个类型types表每一个类型包含多个文档documents行然后每个文档数据包含多个字段Fields列。 一、使用Java客户端管理ES1、创建索引库 步骤 1创建一个Java工程 2添加jar包添加maven的坐标 3编写测试方法实现创建索引库 1、创建一个Settings对象相当于是一个配置信息主要用于配置集群的名称。 2、创建一个客户端Client对象 3、使用client对象创建一个索引库 4、关闭client对象2、使用Java客户端设置Mappings 步骤 1创建一个Settings对象 2创建一个Client对象 3创建一个mapping信息应该是一个json数据可以是字符串也可以是XContextBuilder对象 4使用client向es服务器发送mapping信息 5关闭client对象3、添加文档(一行数据) 步骤 1创建一个Settings对象 2创建一个Client对象 3创建一个文档对象创建一个json格式的字符串或者使用XContentBuilder 4使用Client对象吧文档添加到索引库中 5关闭client 每一步都要创建一个client对象所以将client单独提取出来。 package com.itheima.es;import org.elasticsearch.client.transport.TransportClient;
import org.elasticsearch.common.settings.Settings;
import org.elasticsearch.common.transport.InetSocketTransportAddress;
import org.elasticsearch.common.xcontent.XContentBuilder;
import org.elasticsearch.common.xcontent.XContentFactory;
import org.elasticsearch.transport.client.PreBuiltTransportClient;
import org.junit.Before;
import org.junit.Test;import java.net.InetAddress;public class ElasticSearchClientTest {private TransportClient client;Beforepublic void init() throws Exception {//1、创建一个Settings对象Settings settings Settings.builder().put(cluster.name, my-elasticsearch).build();//2、创建一个Client对象创建一个TransportClient对象client new PreBuiltTransportClient(settings).addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName(127.0.0.1), 9301)).addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName(127.0.0.1), 9302)).addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName(127.0.0.1), 9303));}Testpublic void createIndex() throws Exception {//1、创建一个Settings对象相当于是一个配置信息主要配置集群的名称。Settings settings Settings.builder().put(cluster.name, my-elasticsearch).build();//2、创建一个客户端Client对象TransportClient client new PreBuiltTransportClient(settings);//向client中添加三个ip地址的端口号防止一个服务器不好使然后出现bugclient.addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName(127.0.0.1), 9301));client.addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName(127.0.0.1), 9302));client.addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName(127.0.0.1), 9303));//3、使用client对象创建一个索引库client.admin().indices().prepareCreate(index_hello).get();//index_hello索引名称、get()执行操作//4、关闭client对象client.close();}Testpublic void setMappings() throws Exception {//3、创建一个mapping信息应该是一个json数据可以是字符串也可以是XContextBuilder对象/*{article: {type名称表名文章properties: {id: {//字段type: long,store: true// index: not_analyzed},title: {type: text,store: true,index: true,analyzer: ik_smart//ik_max_word、standard},content: {type: text,store: true,index: true,//analyzedanalyzer: ik_smart//ik_max_word、standard}}}}*/XContentBuilder builder XContentFactory.jsonBuilder().startObject().startObject(article)//type名称.startObject(properties).startObject(id).field(type, long).field(store, true).endObject().startObject(title).field(type, text).field(store, true).field(analyzer, ik_smart).endObject().startObject(content).field(type, text).field(store, true).field(analyzer, ik_smart).endObject().endObject().endObject().endObject();//4、使用client向es服务器发送mapping信息使用client把mapping信息设置到索引库中client.admin().indices().preparePutMapping(index_hello)//设置要做映射的索引设置索引库名称.setType(article)//设置要做映射的type设置type名称.setSource(builder)//mapping信息可以是XContentBuilder对象也可以是json格式的字符串.get();//5、关闭client对象关闭链接client.close();}Testpublic void testAddDocument() throws Exception {//1创建一个Settings对象//2创建一个Client对象//public void init() throws Exception {...}//3创建一个文档对象创建一个json格式的字符串或者使用XContentBuilderXContentBuilder builder XContentFactory.jsonBuilder().startObject().field(id, 2l)//long型数据 2l.field(title, Cause I got a crush on you who you~).field(content, 你是我的我是你的谁~).endObject();//4使用Client对象把文档对象添加到索引库中client.prepareIndex().setIndex(index_hello)//设置索引名称.setType(article)//设置typr.setId(2)//设置文档的id如果不设置id的话es会自动生成一个id.setSource(builder)//设置文档信息builder对象或json串.get();//执行操作//5关闭client客户端client.close();}
} 06-添加文档的第二种方式 一、使用Java客户端管理ES 1、创建索引库 2、使用Java客户端设置Mappings 3、添加文档(一行数据) 4、添加文档第二种方式 创建一个pojo类 使用工具类把pojo转换成json字符串 把文档写入索引库 Test
public void testAddDocument2() throws Exception {//创建一个Article对象Article article new Article();//设置对象的属性article.setId(3l);article.setTitle(再多一眼看一眼就会爆炸~);article.setContent(再近一点靠近点快被融化~);//把article对象转换成json格式的字符串ObjectMapper objectMapper new ObjectMapper();String jsonDocument objectMapper.writeValueAsString(article);System.out.println(jsonDocument);//使用client对象把文档写入索引库client.prepareIndex(index_hello, article, 3).setSource(jsonDocument, XContentType.JSON).get();//关闭客户端client.close();
}
07-索引库查询_根据id查询 一、使用Java客户端管理ES 1、创建索引库 2、使用Java客户端设置Mappings 3、添加文档(一行数据) 4、添加文档的第二种方式 二、使用ES客户端实现搜索1、根据id搜索 QueryBuilder queryBuilder QueryBuilders.idsQuery().addIds(1, 2);2、根据Term查询关键词 QueryBuilder queryBuilder QueryBuilders.termQuery(title, 北方);3、QueryString查询方式带分析的查询 QueryBuilder queryBuilder QueryBuilders.queryStringQuery(速度与激情).defaultField(title); 查询步骤 1创建一个Client对象 2创建一个查询对象可以使用QueryBuilders工具类创建QueryBuilder对象 3使用client执行查询 4得到查询的结果 5取查询结果的总记录数 6取查询结果列表 7关闭client package com.itheima.es;import org.elasticsearch.action.search.SearchResponse;
import org.elasticsearch.client.transport.TransportClient;
import org.elasticsearch.common.settings.Settings;
import org.elasticsearch.common.transport.InetSocketTransportAddress;
import org.elasticsearch.index.query.QueryBuilder;
import org.elasticsearch.index.query.QueryBuilders;
import org.elasticsearch.search.SearchHit;
import org.elasticsearch.search.SearchHits;
import org.elasticsearch.transport.client.PreBuiltTransportClient;
import org.junit.Before;
import org.junit.Test;import java.net.InetAddress;
import java.util.Iterator;
import java.util.Map;public class SearchIndex {private TransportClient client;Beforepublic void init() throws Exception {//1、创建一个Settings对象Settings settings Settings.builder().put(cluster.name, my-elasticsearch).build();//2、创建一个Client对象创建一个TransportClient对象client new PreBuiltTransportClient(settings).addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName(127.0.0.1), 9301)).addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName(127.0.0.1), 9302)).addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName(127.0.0.1), 9303));}Testpublic void testSearchById() throws Exception {//1创建一个client对象//public void init() throws Exception {}//2创建一个查询对象可以使用QueryBuilders工具类创建QueryBuilder对象QueryBuilder queryBuilder QueryBuilders.idsQuery().addIds(1, 2);//3使用client执行查询SearchResponse searchResponse client.prepareSearch(index_hello).setTypes(article).setQuery(queryBuilder).get();//4得到查询的结果SearchHits searchHits searchResponse.getHits();//5取查询结果的总记录数System.out.println(查询结果总记录数 searchHits.getTotalHits());//6取查询结果列表IteratorSearchHit iterator searchHits.iterator();while (iterator.hasNext()) {SearchHit searchHit iterator.next();//打印文档对象以json格式输出System.out.println(searchHit.getSourceAsString());//取文档的属性System.out.println(---------------文档的属性);MapString, Object document searchHit.getSource();System.out.println(document.get(id));System.out.println(document.get(title));System.out.println(document.get(content));}//7关闭clientclient.close();}
} 08-索引库查询_根据term查询 package com.itheima.es;import org.elasticsearch.action.search.SearchResponse;
import org.elasticsearch.client.transport.TransportClient;
import org.elasticsearch.common.settings.Settings;
import org.elasticsearch.common.transport.InetSocketTransportAddress;
import org.elasticsearch.index.query.QueryBuilder;
import org.elasticsearch.index.query.QueryBuilders;
import org.elasticsearch.index.query.TermQueryBuilder;
import org.elasticsearch.search.SearchHit;
import org.elasticsearch.search.SearchHits;
import org.elasticsearch.transport.client.PreBuiltTransportClient;
import org.junit.Before;
import org.junit.Test;import java.net.InetAddress;
import java.util.Iterator;
import java.util.Map;public class SearchIndex {private TransportClient client;Beforepublic void init() throws Exception {//1、创建一个Settings对象Settings settings Settings.builder().put(cluster.name, my-elasticsearch).build();//2、创建一个Client对象创建一个TransportClient对象client new PreBuiltTransportClient(settings).addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName(127.0.0.1), 9301)).addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName(127.0.0.1), 9302)).addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName(127.0.0.1), 9303));}private void search(QueryBuilder queryBuilder) throws Exception {//3使用client执行查询SearchResponse searchResponse client.prepareSearch(index_hello).setTypes(article).setQuery(queryBuilder).get();//4得到查询的结果SearchHits searchHits searchResponse.getHits();//5取查询结果的总记录数System.out.println(查询结果总记录数 searchHits.getTotalHits());//6取查询结果列表IteratorSearchHit iterator searchHits.iterator();while (iterator.hasNext()) {SearchHit searchHit iterator.next();//打印文档对象以json格式输出System.out.println(searchHit.getSourceAsString());//取文档的属性System.out.println(---------------文档的属性);MapString, Object document searchHit.getSource();System.out.println(document.get(id));System.out.println(document.get(title));System.out.println(document.get(content));}//7关闭clientclient.close();}Testpublic void testSearchById() throws Exception {//1创建一个client对象//public void init() throws Exception {}//2创建一个查询对象可以使用QueryBuilders工具类创建QueryBuilder对象QueryBuilder queryBuilder QueryBuilders.idsQuery().addIds(1, 2);search(queryBuilder);}Testpublic void testQueryByTerm() throws Exception {//创建一个QueryBuilder对象//参数1要搜索的字段//参数2要搜索的关键词TermQueryBuilder queryBuilder QueryBuilders.termQuery(title, 爆炸);//执行查询search(queryBuilder);}
}
09-索引库查询_queryString查询 10-查询分页设置
插入数据 Test
public void testAddDocument3() throws Exception {//批量添加数据for (int i 4; i 100; i) {//创建一个Article对象Article article new Article();//设置对象的属性article.setId(i);article.setTitle(再多一眼看一眼就会爆炸~ i);article.setContent(再近一点靠近点快被融化~ i);//把article对象转换成json格式的字符串ObjectMapper objectMapper new ObjectMapper();String jsonDocument objectMapper.writeValueAsString(article);System.out.println(jsonDocument);//使用client对象把文档写入索引库client.prepareIndex(index_hello, article, i ).setSource(jsonDocument, XContentType.JSON).get();}//关闭客户端client.close();
}
设置分页 一、使用Java客户端管理ES 1、创建索引库 2、使用Java客户端设置Mappings 3、添加文档(一行数据) 4、添加文档的第二种方式 二、使用ES客户端实现搜索 1、根据id搜索 2、根据Term查询关键词 3、QueryString查询方式带分析的查询4、分页的处理 在client对象执行查询之前设置分页信息。 然后再执行查询 //执行查询 SearchResponse searchResponse client.prepareSearch(index_hello) .setTypes(article) .setQuery(queryBuilder) //设置分页信息 .setFrom(0) //每页显示的行数 .setSize(5) .get(); 分页需要设置两个值一个from、size from起始的行号从0开始。 size每页显示的记录数 11-查询结果高亮显示 一、使用Java客户端管理ES 1、创建索引库 2、使用Java客户端设置Mappings 3、添加文档(一行数据) 4、添加文档的第二种方式 二、使用ES客户端实现搜索 1、根据id搜索 2、根据Term查询关键词 3、QueryString查询方式带分析的查询 4、分页的处理5、查询结果高亮显示 1高亮的配置 1设置高亮显示的字段 2设置高亮显示的前缀 3设置高亮显示的后缀 2在client对象执行查询之前设置高亮显示的信息 3遍历结果列表时可以从结果中取高亮结果 给关键词的前后加上HTML标签作为前后缀。 package com.itheima.es;import org.elasticsearch.action.search.SearchResponse;
import org.elasticsearch.client.transport.TransportClient;
import org.elasticsearch.common.settings.Settings;
import org.elasticsearch.common.transport.InetSocketTransportAddress;
import org.elasticsearch.index.query.QueryBuilder;
import org.elasticsearch.index.query.QueryBuilders;
import org.elasticsearch.index.query.TermQueryBuilder;
import org.elasticsearch.search.SearchHit;
import org.elasticsearch.search.SearchHits;
import org.elasticsearch.search.fetch.subphase.highlight.HighlightBuilder;
import org.elasticsearch.search.fetch.subphase.highlight.HighlightField;
import org.elasticsearch.transport.client.PreBuiltTransportClient;
import org.junit.Before;
import org.junit.Test;import java.net.InetAddress;
import java.util.Iterator;
import java.util.Map;public class SearchIndex {private TransportClient client;Beforepublic void init() throws Exception {//1、创建一个Settings对象Settings settings Settings.builder().put(cluster.name, my-elasticsearch).build();//2、创建一个Client对象创建一个TransportClient对象client new PreBuiltTransportClient(settings).addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName(127.0.0.1), 9301)).addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName(127.0.0.1), 9302)).addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName(127.0.0.1), 9303));}private void search(QueryBuilder queryBuilder) throws Exception {//3使用client执行查询SearchResponse searchResponse client.prepareSearch(index_hello).setTypes(article).setQuery(queryBuilder).get();//4得到查询的结果SearchHits searchHits searchResponse.getHits();//5取查询结果的总记录数System.out.println(查询结果总记录数 searchHits.getTotalHits());//6取查询结果列表IteratorSearchHit iterator searchHits.iterator();while (iterator.hasNext()) {SearchHit searchHit iterator.next();//打印文档对象以json格式输出System.out.println(searchHit.getSourceAsString());//取文档的属性System.out.println(---------------文档的属性);MapString, Object document searchHit.getSource();System.out.println(document.get(id));System.out.println(document.get(title));System.out.println(document.get(content));}//7关闭clientclient.close();}private void search(QueryBuilder queryBuilder, String highLightField) throws Exception {HighlightBuilder highlightBuilder new HighlightBuilder();highlightBuilder.field(highLightField);//高亮显示的字段highlightBuilder.preTags(em);//前缀highlightBuilder.postTags(/em);//后缀//3使用client执行查询SearchResponse searchResponse client.prepareSearch(index_hello).setTypes(article).setQuery(queryBuilder)//设置分页信息.setFrom(0)//起始行号从0开始.setSize(5)//每一页显示的行数//设置高亮信息.highlighter(highlightBuilder).get();//4得到查询的结果SearchHits searchHits searchResponse.getHits();//5取查询结果的总记录数System.out.println(查询结果总记录数 searchHits.getTotalHits());//6取查询结果列表IteratorSearchHit iterator searchHits.iterator();while (iterator.hasNext()) {SearchHit searchHit iterator.next();//打印文档对象以json格式输出System.out.println(searchHit.getSourceAsString());//取文档的属性System.out.println(---------------文档的属性);MapString, Object document searchHit.getSource();System.out.println(document.get(id));System.out.println(document.get(title));System.out.println(document.get(content));System.out.println(****************************高亮结果);MapString, HighlightField highlightFields searchHit.getHighlightFields();System.out.println(highlightFields);}//7关闭clientclient.close();}Testpublic void testSearchById() throws Exception {//1创建一个client对象//public void init() throws Exception {}//2创建一个查询对象可以使用QueryBuilders工具类创建QueryBuilder对象QueryBuilder queryBuilder QueryBuilders.idsQuery().addIds(1, 2);search(queryBuilder);/*//3使用client执行查询SearchResponse searchResponse client.prepareSearch(index_hello).setTypes(article).setQuery(queryBuilder).get();//4得到查询的结果SearchHits searchHits searchResponse.getHits();//5取查询结果的总记录数System.out.println(查询结果总记录数 searchHits.getTotalHits());//6取查询结果列表IteratorSearchHit iterator searchHits.iterator();while (iterator.hasNext()) {SearchHit searchHit iterator.next();//打印文档对象以json格式输出System.out.println(searchHit.getSourceAsString());//取文档的属性System.out.println(---------------文档的属性);MapString, Object document searchHit.getSource();System.out.println(document.get(id));System.out.println(document.get(title));System.out.println(document.get(content));}//7关闭clientclient.close();*/}Testpublic void testQueryByTerm() throws Exception {//创建一个QueryBuilder对象//参数1要搜索的字段//参数2要搜索的关键词TermQueryBuilder queryBuilder QueryBuilders.termQuery(title, 爆炸);//执行查询search(queryBuilder);}Testpublic void testQueryStringQuery() throws Exception {//创建一个QueryBuilder对象QueryBuilder queryBuilder QueryBuilders.queryStringQuery(爆炸).defaultField(title);//执行查询search(queryBuilder, title);}
} xxx.xxx.var——快速生成变量。