当前位置: 首页 > news >正文

广元城乡建设部网站首页网站建设服务费一年多少钱

广元城乡建设部网站首页,网站建设服务费一年多少钱,品牌网站设计制作公司推荐,洛阳霞光企业网站建设公司ElasticSearch教程入门到精通——第二部分#xff08;基于ELK技术栈elasticsearch 7.x8.x新特性#xff09; 1. JavaAPI-环境准备1.1 新建Maven工程——添加依赖1.2 HelloElasticsearch 2. 索引2.1 索引——创建2.2 索引——查询2.3 索引——删除 3. 文档3.1 文档——重构3.2… ElasticSearch教程入门到精通——第二部分基于ELK技术栈elasticsearch 7.x8.x新特性 1. JavaAPI-环境准备1.1 新建Maven工程——添加依赖1.2 HelloElasticsearch 2. 索引2.1 索引——创建2.2 索引——查询2.3 索引——删除 3. 文档3.1 文档——重构3.2 文档——新增3.3 文档——修改3.4 文档——简单操作3.4.1 文档——简单查询3.4.2 文档——简单删除 3.5 文档——批量操作3.5.1 文档——批量新增3.5.2 文档——批量删除 3.6 文档——高级查询3.6.1 文档——高级查询——全量查询3.6.2 文档——高级查询——条件查询3.6.3 文档——高级查询——分页查询3.6.4 文档——高级查询——查询排序3.6.5 文档——高级查询——组合查询3.6.6 文档——高级查询——范围查询3.6.7 文档——高级查询——模糊查询3.6.9 文档——高级查询——高亮查询3.6.10 文档——高级查询——最大值查询3.6.11 文档——高级查询——分组查询 1. JavaAPI-环境准备 1.1 新建Maven工程——添加依赖 dependenciesdependencygroupIdorg.elasticsearch/groupIdartifactIdelasticsearch/artifactIdversion7.8.0/version/dependency!-- elasticsearch 的客户端 --dependencygroupIdorg.elasticsearch.client/groupIdartifactIdelasticsearch-rest-high-level-client/artifactIdversion7.8.0/version/dependency!-- elasticsearch 依赖 2.x 的 log4j --dependencygroupIdorg.apache.logging.log4j/groupIdartifactIdlog4j-api/artifactIdversion2.8.2/version/dependencydependencygroupIdorg.apache.logging.log4j/groupIdartifactIdlog4j-core/artifactIdversion2.8.2/version/dependencydependencygroupIdcom.fasterxml.jackson.core/groupIdartifactIdjackson-databind/artifactIdversion2.9.9/version/dependency!-- junit 单元测试 --dependencygroupIdjunit/groupIdartifactIdjunit/artifactIdversion4.12/version/dependency /dependencies1.2 HelloElasticsearch import java.io.IOException;import org.apache.http.HttpHost; import org.elasticsearch.client.RestClient; import org.elasticsearch.client.RestHighLevelClient;public class HelloElasticsearch {public static void main(String[] args) throws IOException {// 创建客户端对象RestHighLevelClient client new RestHighLevelClient(RestClient.builder(new HttpHost(localhost, 9200, http))); // ...System.out.println(client);// 关闭客户端连接client.close();} }2. 索引 2.1 索引——创建 import org.apache.http.HttpHost; import org.elasticsearch.client.RequestOptions; import org.elasticsearch.client.RestClient; import org.elasticsearch.client.RestHighLevelClient; import org.elasticsearch.client.indices.CreateIndexRequest; import org.elasticsearch.client.indices.CreateIndexResponse;import java.io.IOException;public class ESTest_Index_Create {public static void main(String[] args) throws IOException {RestHighLevelClient restHighLevelClient new RestHighLevelClient(RestClient.builder(new HttpHost(localhost,9200,http)));// 创建索引CreateIndexRequest createIndexRequest new CreateIndexRequest(user);CreateIndexResponse createIndexResponse restHighLevelClient.indices().create(createIndexRequest, RequestOptions.DEFAULT);boolean acknowledged createIndexResponse.isAcknowledged();System.out.println(acknowledged acknowledged);restHighLevelClient.close();} }后台打印 2.2 索引——查询 package com.atguigu.es.test;import org.apache.http.HttpHost; import org.elasticsearch.client.RequestOptions; import org.elasticsearch.client.RestClient; import org.elasticsearch.client.RestHighLevelClient; import org.elasticsearch.client.indices.CreateIndexRequest; import org.elasticsearch.client.indices.CreateIndexResponse; import org.elasticsearch.client.indices.GetIndexRequest; import org.elasticsearch.client.indices.GetIndexResponse; import org.elasticsearch.cluster.metadata.AliasMetadata; import org.elasticsearch.cluster.metadata.MappingMetadata; import org.elasticsearch.common.settings.Settings;import java.io.IOException; import java.util.List; import java.util.Map;public class ESTest_Index_Search {public static void main(String[] args) throws IOException {RestHighLevelClient restHighLevelClient new RestHighLevelClient(RestClient.builder(new HttpHost(localhost,9200,http)));// 查询索引GetIndexRequest getIndexRequest new GetIndexRequest(user);GetIndexResponse getIndexResponse restHighLevelClient.indices().get(getIndexRequest, RequestOptions.DEFAULT);MapString, ListAliasMetadata aliases getIndexResponse.getAliases();System.out.println(aliases aliases);MapString, MappingMetadata mappings getIndexResponse.getMappings();System.out.println(mappings mappings);MapString, Settings settings getIndexResponse.getSettings();System.out.println(settings settings);restHighLevelClient.close();} }后台打印 2.3 索引——删除 package com.atguigu.es.test;import org.apache.http.HttpHost; import org.elasticsearch.action.admin.indices.delete.DeleteIndexRequest; import org.elasticsearch.action.support.master.AcknowledgedResponse; import org.elasticsearch.client.RequestOptions; import org.elasticsearch.client.RestClient; import org.elasticsearch.client.RestHighLevelClient; import org.elasticsearch.client.indices.GetIndexRequest; import org.elasticsearch.client.indices.GetIndexResponse; import org.elasticsearch.cluster.metadata.AliasMetadata; import org.elasticsearch.cluster.metadata.MappingMetadata; import org.elasticsearch.common.settings.Settings;import java.io.IOException; import java.util.List; import java.util.Map;public class ESTest_Index_Delete {public static void main(String[] args) throws IOException {RestHighLevelClient restHighLevelClient new RestHighLevelClient(RestClient.builder(new HttpHost(localhost,9200,http)));// 删除索引DeleteIndexRequest deleteIndexRequest new DeleteIndexRequest(user);AcknowledgedResponse delete restHighLevelClient.indices().delete(deleteIndexRequest, RequestOptions.DEFAULT);boolean acknowledged delete.isAcknowledged();System.out.println(acknowledged acknowledged);restHighLevelClient.close();} }后台打印 3. 文档 3.1 文档——重构 上文由于频繁使用以下连接Elasticsearch和关闭它的代码于是个人对它进行重构。 public class SomeClass {public static void main(String[] args) throws IOException {RestHighLevelClient client new RestHighLevelClient(RestClient.builder(new HttpHost(localhost, 9200, http)));...client.close();} }重构后的代码 import org.elasticsearch.client.RestHighLevelClient;public interface ElasticsearchTask {void doSomething(RestHighLevelClient client) throws Exception;}public class ConnectElasticsearch{public static void connect(ElasticsearchTask task){// 创建客户端对象RestHighLevelClient client new RestHighLevelClient(RestClient.builder(new HttpHost(localhost, 9200, http)));try {task.doSomething(client);// 关闭客户端连接client.close();} catch (Exception e) {e.printStackTrace();}} }接下来如果想让Elasticsearch完成一些操作就编写一个lambda式即可。 public class SomeClass {public static void main(String[] args) {ConnectElasticsearch.connect(client - {//do something});} }3.2 文档——新增 import com.fasterxml.jackson.databind.ObjectMapper; import com.lun.elasticsearch.hello.ConnectElasticsearch; import com.lun.elasticsearch.model.User; import org.elasticsearch.action.index.IndexRequest; import org.elasticsearch.action.index.IndexResponse; import org.elasticsearch.client.RequestOptions; import org.elasticsearch.common.xcontent.XContentType;public class InsertDoc {public static void main(String[] args) {ConnectElasticsearch.connect(client - {// 新增文档 - 请求对象IndexRequest request new IndexRequest();// 设置索引及唯一性标识request.index(user).id(1001);// 创建数据对象User user new User();user.setName(zhangsan);user.setAge(30);user.setSex(男);ObjectMapper objectMapper new ObjectMapper();String productJson objectMapper.writeValueAsString(user);// 添加文档数据数据格式为 JSON 格式request.source(productJson, XContentType.JSON);// 客户端发送请求获取响应对象IndexResponse response client.index(request, RequestOptions.DEFAULT);3.打印结果信息System.out.println(_index: response.getIndex());System.out.println(_id: response.getId());System.out.println(_result: response.getResult());});} }后台打印 3.3 文档——修改 import com.lun.elasticsearch.hello.ConnectElasticsearch; import org.elasticsearch.action.update.UpdateRequest; import org.elasticsearch.action.update.UpdateResponse; import org.elasticsearch.client.RequestOptions; import org.elasticsearch.common.xcontent.XContentType;public class UpdateDoc {public static void main(String[] args) {ConnectElasticsearch.connect(client - {// 修改文档 - 请求对象UpdateRequest request new UpdateRequest();// 配置修改参数request.index(user).id(1001);// 设置请求体对数据进行修改request.doc(XContentType.JSON, sex, 女);// 客户端发送请求获取响应对象UpdateResponse response client.update(request, RequestOptions.DEFAULT);System.out.println(_index: response.getIndex());System.out.println(_id: response.getId());System.out.println(_result: response.getResult());});}}后台打印 _index:user _id:1001 _result:UPDATEDProcess finished with exit code 03.4 文档——简单操作 3.4.1 文档——简单查询 import com.lun.elasticsearch.hello.ConnectElasticsearch; import org.elasticsearch.action.get.GetRequest; import org.elasticsearch.action.get.GetResponse; import org.elasticsearch.client.RequestOptions;public class GetDoc {public static void main(String[] args) {ConnectElasticsearch.connect(client - {//1.创建请求对象GetRequest request new GetRequest().index(user).id(1001);//2.客户端发送请求获取响应对象GetResponse response client.get(request, RequestOptions.DEFAULT);3.打印结果信息System.out.println(_index: response.getIndex());System.out.println(_type: response.getType());System.out.println(_id: response.getId());System.out.println(source: response.getSourceAsString());});} }后台打印 _index:user _type:_doc _id:1001 source:{name:zhangsan,age:30,sex:男}Process finished with exit code 03.4.2 文档——简单删除 import com.lun.elasticsearch.hello.ConnectElasticsearch; import org.elasticsearch.action.delete.DeleteRequest; import org.elasticsearch.action.delete.DeleteResponse; import org.elasticsearch.client.RequestOptions;public class DeleteDoc {public static void main(String[] args) {ConnectElasticsearch.connect(client - {//创建请求对象DeleteRequest request new DeleteRequest().index(user).id(1001);//客户端发送请求获取响应对象DeleteResponse response client.delete(request, RequestOptions.DEFAULT);//打印信息System.out.println(response.toString());});} }后台打印 DeleteResponse[indexuser,type_doc,id1001,version16,resultdeleted,shardsShardInfo{total2, successful1, failures[]}]Process finished with exit code 03.5 文档——批量操作 3.5.1 文档——批量新增 import com.lun.elasticsearch.hello.ConnectElasticsearch; import org.elasticsearch.action.bulk.BulkRequest; import org.elasticsearch.action.bulk.BulkResponse; import org.elasticsearch.action.index.IndexRequest; import org.elasticsearch.client.RequestOptions; import org.elasticsearch.common.xcontent.XContentType;public class BatchInsertDoc {public static void main(String[] args) {ConnectElasticsearch.connect(client - {//创建批量新增请求对象BulkRequest request new BulkRequest();request.add(newIndexRequest().index(user).id(1001).source(XContentType.JSON, name,zhangsan));request.add(newIndexRequest().index(user).id(1002).source(XContentType.JSON, name,lisi));request.add(newIndexRequest().index(user).id(1003).source(XContentType.JSON, name,wangwu));//客户端发送请求获取响应对象BulkResponse responses client.bulk(request, RequestOptions.DEFAULT);//打印结果信息System.out.println(took: responses.getTook());System.out.println(items: responses.getItems());});} }后台打印 took:294ms items:[Lorg.elasticsearch.action.bulk.BulkItemResponse;2beee7ffProcess finished with exit code 03.5.2 文档——批量删除 import com.lun.elasticsearch.hello.ConnectElasticsearch; import org.elasticsearch.action.bulk.BulkRequest; import org.elasticsearch.action.bulk.BulkResponse; import org.elasticsearch.action.delete.DeleteRequest; import org.elasticsearch.client.RequestOptions;public class BatchDeleteDoc {public static void main(String[] args) {ConnectElasticsearch.connect(client - {//创建批量删除请求对象BulkRequest request new BulkRequest();request.add(new DeleteRequest().index(user).id(1001));request.add(new DeleteRequest().index(user).id(1002));request.add(new DeleteRequest().index(user).id(1003));//客户端发送请求获取响应对象BulkResponse responses client.bulk(request, RequestOptions.DEFAULT);//打印结果信息System.out.println(took: responses.getTook());System.out.println(items: responses.getItems());});} }后台打印 took:108ms items:[Lorg.elasticsearch.action.bulk.BulkItemResponse;7b02881eProcess finished with exit code 03.6 文档——高级查询 3.6.1 文档——高级查询——全量查询 先批量增加数据 public class BatchInsertDoc {public static void main(String[] args) {ConnectElasticsearch.connect(client - {//创建批量新增请求对象BulkRequest request new BulkRequest();request.add(new IndexRequest().index(user).id(1001).source(XContentType.JSON, name, zhangsan, age, 10, sex,女));request.add(new IndexRequest().index(user).id(1002).source(XContentType.JSON, name, lisi, age, 30, sex,女));request.add(new IndexRequest().index(user).id(1003).source(XContentType.JSON, name, wangwu1, age, 40, sex,男));request.add(new IndexRequest().index(user).id(1004).source(XContentType.JSON, name, wangwu2, age, 20, sex,女));request.add(new IndexRequest().index(user).id(1005).source(XContentType.JSON, name, wangwu3, age, 50, sex,男));request.add(new IndexRequest().index(user).id(1006).source(XContentType.JSON, name, wangwu4, age, 20, sex,男));//客户端发送请求获取响应对象BulkResponse responses client.bulk(request, RequestOptions.DEFAULT);//打印结果信息System.out.println(took: responses.getTook());System.out.println(items: responses.getItems());});} }后台打印 took:168ms items:[Lorg.elasticsearch.action.bulk.BulkItemResponse;2beee7ffProcess finished with exit code 0查询所有索引数据 import com.lun.elasticsearch.hello.ConnectElasticsearch; import org.elasticsearch.action.search.SearchRequest; import org.elasticsearch.action.search.SearchResponse; import org.elasticsearch.client.RequestOptions; import org.elasticsearch.index.query.QueryBuilders; import org.elasticsearch.search.SearchHit; import org.elasticsearch.search.SearchHits; import org.elasticsearch.search.builder.SearchSourceBuilder;public class QueryDoc {public static void main(String[] args) {ConnectElasticsearch.connect(client - {// 创建搜索请求对象SearchRequest request new SearchRequest();request.indices(user);// 构建查询的请求体SearchSourceBuilder sourceBuilder new SearchSourceBuilder();// 查询所有数据sourceBuilder.query(QueryBuilders.matchAllQuery());request.source(sourceBuilder);SearchResponse response client.search(request, RequestOptions.DEFAULT);// 查询匹配SearchHits hits response.getHits();System.out.println(took: response.getTook());System.out.println(timeout: response.isTimedOut());System.out.println(total: hits.getTotalHits());System.out.println(MaxScore: hits.getMaxScore());System.out.println(hits);for (SearchHit hit : hits) {//输出每条查询的结果信息System.out.println(hit.getSourceAsString());}System.out.println();});}}后台打印 took:2ms timeout:false total:6 hits MaxScore:1.0 hits {name:zhangsan,age:10,sex:女} {name:lisi,age:30,sex:女} {name:wangwu1,age:40,sex:男} {name:wangwu2,age:20,sex:女} {name:wangwu3,age:50,sex:男} {name:wangwu4,age:20,sex:男} Process finished with exit code 03.6.2 文档——高级查询——条件查询 import com.lun.elasticsearch.hello.ConnectElasticsearch; import com.lun.elasticsearch.hello.ElasticsearchTask; import org.elasticsearch.action.search.SearchRequest; import org.elasticsearch.action.search.SearchResponse; import org.elasticsearch.client.RequestOptions; import org.elasticsearch.index.query.QueryBuilders; import org.elasticsearch.search.SearchHit; import org.elasticsearch.search.SearchHits; import org.elasticsearch.search.builder.SearchSourceBuilder; import org.elasticsearch.search.sort.SortOrder;public class QueryDoc {public static final ElasticsearchTask SEARCH_BY_CONDITION client - {// 创建搜索请求对象SearchRequest request new SearchRequest();request.indices(user);// 构建查询的请求体SearchSourceBuilder sourceBuilder new SearchSourceBuilder();sourceBuilder.query(QueryBuilders.termQuery(age, 30));request.source(sourceBuilder);SearchResponse response client.search(request, RequestOptions.DEFAULT);// 查询匹配SearchHits hits response.getHits();System.out.println(took: response.getTook());System.out.println(timeout: response.isTimedOut());System.out.println(total: hits.getTotalHits());System.out.println(MaxScore: hits.getMaxScore());System.out.println(hits);for (SearchHit hit : hits) {//输出每条查询的结果信息System.out.println(hit.getSourceAsString());}System.out.println();};public static void main(String[] args) {ConnectElasticsearch.connect(SEARCH_BY_CONDITION);} }后台打印 took:1ms timeout:false total:1 hits MaxScore:1.0 hits {name:lisi,age:30,sex:女}3.6.3 文档——高级查询——分页查询 import com.lun.elasticsearch.hello.ConnectElasticsearch; import com.lun.elasticsearch.hello.ElasticsearchTask; import org.elasticsearch.action.search.SearchRequest; import org.elasticsearch.action.search.SearchResponse; import org.elasticsearch.client.RequestOptions; import org.elasticsearch.index.query.QueryBuilders; import org.elasticsearch.search.SearchHit; import org.elasticsearch.search.SearchHits; import org.elasticsearch.search.builder.SearchSourceBuilder; import org.elasticsearch.search.sort.SortOrder;public class QueryDoc {public static final ElasticsearchTask SEARCH_BY_PAGING client - {// 创建搜索请求对象SearchRequest request new SearchRequest();request.indices(user);// 构建查询的请求体SearchSourceBuilder sourceBuilder new SearchSourceBuilder();sourceBuilder.query(QueryBuilders.matchAllQuery());// 分页查询// 当前页其实索引(第一条数据的顺序号) fromsourceBuilder.from(0);// 每页显示多少条 sizesourceBuilder.size(2);request.source(sourceBuilder);SearchResponse response client.search(request, RequestOptions.DEFAULT);// 查询匹配SearchHits hits response.getHits();System.out.println(took: response.getTook());System.out.println(timeout: response.isTimedOut());System.out.println(total: hits.getTotalHits());System.out.println(MaxScore: hits.getMaxScore());System.out.println(hits);for (SearchHit hit : hits) {//输出每条查询的结果信息System.out.println(hit.getSourceAsString());}System.out.println();};public static void main(String[] args) {ConnectElasticsearch.connect(SEARCH_BY_CONDITION);}}后台打印 took:1ms timeout:false total:6 hits MaxScore:1.0 hits {name:zhangsan,age:10,sex:女} {name:lisi,age:30,sex:女}3.6.4 文档——高级查询——查询排序 import com.lun.elasticsearch.hello.ConnectElasticsearch; import com.lun.elasticsearch.hello.ElasticsearchTask; import org.elasticsearch.action.search.SearchRequest; import org.elasticsearch.action.search.SearchResponse; import org.elasticsearch.client.RequestOptions; import org.elasticsearch.index.query.QueryBuilders; import org.elasticsearch.search.SearchHit; import org.elasticsearch.search.SearchHits; import org.elasticsearch.search.builder.SearchSourceBuilder; import org.elasticsearch.search.sort.SortOrder;public class QueryDoc {public static final ElasticsearchTask SEARCH_WITH_ORDER client - {// 创建搜索请求对象SearchRequest request new SearchRequest();request.indices(user);// 构建查询的请求体SearchSourceBuilder sourceBuilder new SearchSourceBuilder();sourceBuilder.query(QueryBuilders.matchAllQuery());// 排序sourceBuilder.sort(age, SortOrder.ASC);request.source(sourceBuilder);SearchResponse response client.search(request, RequestOptions.DEFAULT);// 查询匹配SearchHits hits response.getHits();System.out.println(took: response.getTook());System.out.println(timeout: response.isTimedOut());System.out.println(total: hits.getTotalHits());System.out.println(MaxScore: hits.getMaxScore());System.out.println(hits);for (SearchHit hit : hits) {//输出每条查询的结果信息System.out.println(hit.getSourceAsString());}System.out.println();};public static void main(String[] args) {ConnectElasticsearch.connect(SEARCH_WITH_ORDER);}}后台打印 took:1ms timeout:false total:6 hits MaxScore:NaN hits {name:zhangsan,age:10,sex:女} {name:wangwu2,age:20,sex:女} {name:wangwu4,age:20,sex:男} {name:lisi,age:30,sex:女} {name:wangwu1,age:40,sex:男} {name:wangwu3,age:50,sex:男}3.6.5 文档——高级查询——组合查询 import com.lun.elasticsearch.hello.ConnectElasticsearch; import com.lun.elasticsearch.hello.ElasticsearchTask; import org.elasticsearch.action.search.SearchRequest; import org.elasticsearch.action.search.SearchResponse; import org.elasticsearch.client.RequestOptions; import org.elasticsearch.index.query.BoolQueryBuilder; import org.elasticsearch.index.query.QueryBuilders; import org.elasticsearch.search.SearchHit; import org.elasticsearch.search.SearchHits; import org.elasticsearch.search.builder.SearchSourceBuilder; import org.elasticsearch.search.sort.SortOrder;public class QueryDoc {public static final ElasticsearchTask SEARCH_BY_BOOL_CONDITION client - {// 创建搜索请求对象SearchRequest request new SearchRequest();request.indices(user);// 构建查询的请求体SearchSourceBuilder sourceBuilder new SearchSourceBuilder();BoolQueryBuilder boolQueryBuilder QueryBuilders.boolQuery();// 必须包含boolQueryBuilder.must(QueryBuilders.matchQuery(age, 30));// 一定不含boolQueryBuilder.mustNot(QueryBuilders.matchQuery(name, zhangsan));// 可能包含boolQueryBuilder.should(QueryBuilders.matchQuery(sex, 男));sourceBuilder.query(boolQueryBuilder);request.source(sourceBuilder);SearchResponse response client.search(request, RequestOptions.DEFAULT);// 查询匹配SearchHits hits response.getHits();System.out.println(took: response.getTook());System.out.println(timeout: response.isTimedOut());System.out.println(total: hits.getTotalHits());System.out.println(MaxScore: hits.getMaxScore());System.out.println(hits);for (SearchHit hit : hits) {//输出每条查询的结果信息System.out.println(hit.getSourceAsString());}System.out.println();};public static void main(String[] args) {ConnectElasticsearch.connect(SEARCH_BY_BOOL_CONDITION);} }后台打印 took:28ms timeout:false total:1 hits MaxScore:1.0 hits {name:lisi,age:30,sex:女} Process finished with exit code 03.6.6 文档——高级查询——范围查询 import com.lun.elasticsearch.hello.ConnectElasticsearch; import com.lun.elasticsearch.hello.ElasticsearchTask; import org.elasticsearch.action.search.SearchRequest; import org.elasticsearch.action.search.SearchResponse; import org.elasticsearch.client.RequestOptions; import org.elasticsearch.index.query.BoolQueryBuilder; import org.elasticsearch.index.query.QueryBuilders; import org.elasticsearch.index.query.RangeQueryBuilder; import org.elasticsearch.search.SearchHit; import org.elasticsearch.search.SearchHits; import org.elasticsearch.search.builder.SearchSourceBuilder; import org.elasticsearch.search.sort.SortOrder;public class QueryDoc {public static final ElasticsearchTask SEARCH_BY_RANGE client - {// 创建搜索请求对象SearchRequest request new SearchRequest();request.indices(user);// 构建查询的请求体SearchSourceBuilder sourceBuilder new SearchSourceBuilder();RangeQueryBuilder rangeQuery QueryBuilders.rangeQuery(age);// 大于等于//rangeQuery.gte(30);// 小于等于rangeQuery.lte(40);sourceBuilder.query(rangeQuery);request.source(sourceBuilder);SearchResponse response client.search(request, RequestOptions.DEFAULT);// 查询匹配SearchHits hits response.getHits();System.out.println(took: response.getTook());System.out.println(timeout: response.isTimedOut());System.out.println(total: hits.getTotalHits());System.out.println(MaxScore: hits.getMaxScore());System.out.println(hits);for (SearchHit hit : hits) {//输出每条查询的结果信息System.out.println(hit.getSourceAsString());}System.out.println();};public static void main(String[] args) {ConnectElasticsearch.connect(SEARCH_BY_RANGE);}}后台打印 took:1ms timeout:false total:5 hits MaxScore:1.0 hits {name:zhangsan,age:10,sex:女} {name:lisi,age:30,sex:女} {name:wangwu1,age:40,sex:男} {name:wangwu2,age:20,sex:女} {name:wangwu4,age:20,sex:男} Process finished with exit code 03.6.7 文档——高级查询——模糊查询 import com.lun.elasticsearch.hello.ConnectElasticsearch; import com.lun.elasticsearch.hello.ElasticsearchTask; import org.elasticsearch.action.search.SearchRequest; import org.elasticsearch.action.search.SearchResponse; import org.elasticsearch.client.RequestOptions; import org.elasticsearch.common.unit.Fuzziness; import org.elasticsearch.index.query.BoolQueryBuilder; import org.elasticsearch.index.query.QueryBuilders; import org.elasticsearch.index.query.RangeQueryBuilder; import org.elasticsearch.search.SearchHit; import org.elasticsearch.search.SearchHits; import org.elasticsearch.search.builder.SearchSourceBuilder; import org.elasticsearch.search.sort.SortOrder;public class QueryDoc {public static final ElasticsearchTask SEARCH_BY_FUZZY_CONDITION client - {// 创建搜索请求对象SearchRequest request new SearchRequest();request.indices(user);// 构建查询的请求体SearchSourceBuilder sourceBuilder new SearchSourceBuilder();sourceBuilder.query(QueryBuilders.fuzzyQuery(name,wangwu).fuzziness(Fuzziness.ONE));request.source(sourceBuilder);SearchResponse response client.search(request, RequestOptions.DEFAULT);// 查询匹配SearchHits hits response.getHits();System.out.println(took: response.getTook());System.out.println(timeout: response.isTimedOut());System.out.println(total: hits.getTotalHits());System.out.println(MaxScore: hits.getMaxScore());System.out.println(hits);for (SearchHit hit : hits) {//输出每条查询的结果信息System.out.println(hit.getSourceAsString());}System.out.println();};public static void main(String[] args) { // ConnectElasticsearch.connect(SEARCH_ALL); // ConnectElasticsearch.connect(SEARCH_BY_CONDITION); // ConnectElasticsearch.connect(SEARCH_BY_PAGING); // ConnectElasticsearch.connect(SEARCH_WITH_ORDER); // ConnectElasticsearch.connect(SEARCH_BY_BOOL_CONDITION); // ConnectElasticsearch.connect(SEARCH_BY_RANGE);ConnectElasticsearch.connect(SEARCH_BY_FUZZY_CONDITION);}}后台打印 took:152ms timeout:false total:4 hits MaxScore:1.2837042 hits {name:wangwu1,age:40,sex:男} {name:wangwu2,age:20,sex:女} {name:wangwu3,age:50,sex:男} {name:wangwu4,age:20,sex:男} Process finished with exit code 03.6.9 文档——高级查询——高亮查询 import com.lun.elasticsearch.hello.ConnectElasticsearch; import com.lun.elasticsearch.hello.ElasticsearchTask; import org.elasticsearch.action.search.SearchRequest; import org.elasticsearch.action.search.SearchResponse; import org.elasticsearch.client.RequestOptions; import org.elasticsearch.common.unit.Fuzziness; import org.elasticsearch.index.query.BoolQueryBuilder; import org.elasticsearch.index.query.QueryBuilders; import org.elasticsearch.index.query.RangeQueryBuilder; import org.elasticsearch.index.query.TermsQueryBuilder; import org.elasticsearch.search.SearchHit; import org.elasticsearch.search.SearchHits; import org.elasticsearch.search.builder.SearchSourceBuilder; import org.elasticsearch.search.fetch.subphase.highlight.HighlightBuilder; import org.elasticsearch.search.fetch.subphase.highlight.HighlightField; import org.elasticsearch.search.sort.SortOrder;import java.util.Map;public class QueryDoc {public static final ElasticsearchTask SEARCH_WITH_HIGHLIGHT client - {// 高亮查询SearchRequest request new SearchRequest().indices(user);//2.创建查询请求体构建器SearchSourceBuilder sourceBuilder new SearchSourceBuilder();//构建查询方式高亮查询TermsQueryBuilder termsQueryBuilder QueryBuilders.termsQuery(name,zhangsan);//设置查询方式sourceBuilder.query(termsQueryBuilder);//构建高亮字段HighlightBuilder highlightBuilder new HighlightBuilder();highlightBuilder.preTags(font colorred);//设置标签前缀highlightBuilder.postTags(/font);//设置标签后缀highlightBuilder.field(name);//设置高亮字段//设置高亮构建对象sourceBuilder.highlighter(highlightBuilder);//设置请求体request.source(sourceBuilder);//3.客户端发送请求获取响应对象SearchResponse response client.search(request, RequestOptions.DEFAULT);//4.打印响应结果SearchHits hits response.getHits();System.out.println(took::response.getTook());System.out.println(time_out::response.isTimedOut());System.out.println(total::hits.getTotalHits());System.out.println(max_score::hits.getMaxScore());System.out.println(hits::::);for (SearchHit hit : hits) {String sourceAsString hit.getSourceAsString();System.out.println(sourceAsString);//打印高亮结果MapString, HighlightField highlightFields hit.getHighlightFields();System.out.println(highlightFields);}System.out.println(::::);};public static void main(String[] args) {ConnectElasticsearch.connect(SEARCH_WITH_HIGHLIGHT);}}后台打印 took::672ms time_out::false total::1 hits max_score::1.0 hits:::: {name:zhangsan,age:10,sex:女} {name[name], fragments[[font colorredzhangsan/font]]} ::::Process finished with exit code 0 123456789103.6.10 文档——高级查询——最大值查询 import com.lun.elasticsearch.hello.ConnectElasticsearch; import com.lun.elasticsearch.hello.ElasticsearchTask; import org.elasticsearch.action.search.SearchRequest; import org.elasticsearch.action.search.SearchResponse; import org.elasticsearch.client.RequestOptions; import org.elasticsearch.common.unit.Fuzziness; import org.elasticsearch.index.query.BoolQueryBuilder; import org.elasticsearch.index.query.QueryBuilders; import org.elasticsearch.index.query.RangeQueryBuilder; import org.elasticsearch.index.query.TermsQueryBuilder; import org.elasticsearch.search.SearchHit; import org.elasticsearch.search.SearchHits; import org.elasticsearch.search.aggregations.AggregationBuilders; import org.elasticsearch.search.builder.SearchSourceBuilder; import org.elasticsearch.search.fetch.subphase.highlight.HighlightBuilder; import org.elasticsearch.search.fetch.subphase.highlight.HighlightField; import org.elasticsearch.search.sort.SortOrder;import java.util.Map;public class QueryDoc {public static final ElasticsearchTask SEARCH_WITH_MAX client - {// 高亮查询SearchRequest request new SearchRequest().indices(user);SearchSourceBuilder sourceBuilder new SearchSourceBuilder();sourceBuilder.aggregation(AggregationBuilders.max(maxAge).field(age));//设置请求体request.source(sourceBuilder);//3.客户端发送请求获取响应对象SearchResponse response client.search(request, RequestOptions.DEFAULT);//4.打印响应结果SearchHits hits response.getHits();System.out.println(response);};public static void main(String[] args) {ConnectElasticsearch.connect(SEARCH_WITH_MAX);}}后台打印 {took:16,timed_out:false,_shards:{total:1,successful:1,skipped:0,failed:0},hits:{total:{value:6,relation:eq},max_score:1.0,hits:[{_index:user,_type:_doc,_id:1001,_score:1.0,_source:{name:zhangsan,age:10,sex:女}},{_index:user,_type:_doc,_id:1002,_score:1.0,_source:{name:lisi,age:30,sex:女}},{_index:user,_type:_doc,_id:1003,_score:1.0,_source:{name:wangwu1,age:40,sex:男}},{_index:user,_type:_doc,_id:1004,_score:1.0,_source:{name:wangwu2,age:20,sex:女}},{_index:user,_type:_doc,_id:1005,_score:1.0,_source:{name:wangwu3,age:50,sex:男}},{_index:user,_type:_doc,_id:1006,_score:1.0,_source:{name:wangwu4,age:20,sex:男}}]},aggregations:{max#maxAge:{value:50.0}}}Process finished with exit code 03.6.11 文档——高级查询——分组查询 import com.lun.elasticsearch.hello.ConnectElasticsearch; import com.lun.elasticsearch.hello.ElasticsearchTask; import org.elasticsearch.action.search.SearchRequest; import org.elasticsearch.action.search.SearchResponse; import org.elasticsearch.client.RequestOptions; import org.elasticsearch.common.unit.Fuzziness; import org.elasticsearch.index.query.BoolQueryBuilder; import org.elasticsearch.index.query.QueryBuilders; import org.elasticsearch.index.query.RangeQueryBuilder; import org.elasticsearch.index.query.TermsQueryBuilder; import org.elasticsearch.search.SearchHit; import org.elasticsearch.search.SearchHits; import org.elasticsearch.search.aggregations.AggregationBuilders; import org.elasticsearch.search.builder.SearchSourceBuilder; import org.elasticsearch.search.fetch.subphase.highlight.HighlightBuilder; import org.elasticsearch.search.fetch.subphase.highlight.HighlightField; import org.elasticsearch.search.sort.SortOrder;import java.util.Map;public class QueryDoc {public static final ElasticsearchTask SEARCH_WITH_GROUP client - {SearchRequest request new SearchRequest().indices(user);SearchSourceBuilder sourceBuilder new SearchSourceBuilder();sourceBuilder.aggregation(AggregationBuilders.terms(age_groupby).field(age));//设置请求体request.source(sourceBuilder);//3.客户端发送请求获取响应对象SearchResponse response client.search(request, RequestOptions.DEFAULT);//4.打印响应结果SearchHits hits response.getHits();System.out.println(response);};public static void main(String[] args) {ConnectElasticsearch.connect(SEARCH_WITH_GROUP);}}后台打印 {took:10,timed_out:false,_shards:{total:1,successful:1,skipped:0,failed:0},hits:{total:{value:6,relation:eq},max_score:1.0,hits:[{_index:user,_type:_doc,_id:1001,_score:1.0,_source:{name:zhangsan,age:10,sex:女}},{_index:user,_type:_doc,_id:1002,_score:1.0,_source:{name:lisi,age:30,sex:女}},{_index:user,_type:_doc,_id:1003,_score:1.0,_source:{name:wangwu1,age:40,sex:男}},{_index:user,_type:_doc,_id:1004,_score:1.0,_source:{name:wangwu2,age:20,sex:女}},{_index:user,_type:_doc,_id:1005,_score:1.0,_source:{name:wangwu3,age:50,sex:男}},{_index:user,_type:_doc,_id:1006,_score:1.0,_source:{name:wangwu4,age:20,sex:男}}]},aggregations:{lterms#age_groupby:{doc_count_error_upper_bound:0,sum_other_doc_count:0,buckets:[{key:20,doc_count:2},{key:10,doc_count:1},{key:30,doc_count:1},{key:40,doc_count:1},{key:50,doc_count:1}]}}}Process finished with exit code 0
http://www.pierceye.com/news/825429/

相关文章:

  • 永安市住房与城乡建设局网站腾讯邮箱企业邮箱入口登录
  • 手机和wap网站建设wordpress链接 数据库
  • 1688网站简介青岛网站建设系统
  • 优秀网站的特点wordpress 腾讯云oss
  • 深圳专业做网站公司怎么做网站跳转
  • 设计教学网站推荐重庆大渝网
  • 网站建设询价邀请函二级建造师报名的官网
  • 沈阳个人网站建设表白网站制作软件
  • 开封+网站建设+网络推广网站建设及托管合同模板
  • 怎么看公司网站建设的时间苏州展厅设计公司排名
  • 新电商平台电脑优化软件哪个好用
  • 个人可以建网站咨询公司简介
  • 关于网站开发怎么找到做外贸的国内公司
  • 国外优秀摄影作品网站互联网项目推广方案
  • icp网站备案查询美容整形网站建设
  • 广州网站建设八爪鱼湖南网络公司排名
  • 网站公司名称大全龙元建设集团有限公司网站
  • 网站开发技术可行性分析邢台建设企业网站
  • 有一个网站 人物模型可以做各种动作沈阳军成网站建设
  • h5移动网站开发南京企业自助建站系统
  • 开发一个企业网站报价wordpress副标题字数
  • 芜湖哪家公司做网站不错江宁网站建设方案
  • 做网站公司赚钱吗?百度搜索下载
  • 手机购物网站模版企业信息系统查询系统官网江苏
  • 礼品行业网站建设北京网站设计精选刻
  • 六安论坛网站WordPress ftp 媒体库子目录
  • 网站域名com和cn应用商店免费下载
  • 建设营销型网站多少钱比较好的网站建设网站
  • 学校网站的建设需求搜索引擎优化的缺点包括
  • 牛牛襄阳做网站郑州网站建设市场