`

Elasticsearch拆分java api生成restful json代码

阅读更多
项目中用到ElasticSearch 1.4.2,但多个项目生产环境使用的jdk版本不一致,大部分都是1.6。
折中方案使用restful api,但query json写起来比较麻烦,想用java api的方式写代码,最终生成restful json。
看了几个开源项目,如jest,还是需要RD自己写json,或者用ES提供的类SearchSourceBuilder。
比较蛋疼的是,ElasticSearch没有对功能进行拆包,还是跨不过jdk版本的问题。

无奈只好从ES的代码中拆分出这部分代码,并且支持jdk1.6编译执行。
代码已经拆分出来了,但没有精细化的整理,还是存在一些不必要的检索逻辑。
稍后加上HttpClient,就可以写java api通过restful接口进行调用了。

Git:https://github.com/mazhen2010/rts-es-rest4j

public class SearchSourceBuilderTest {

    @Test
    public void testJson() {
        QueryBuilder query = QueryBuilders.matchQuery("firmName", "清泉");
        FilterBuilder stationFilter = FilterBuilders.termFilter("stationId", 5);
        FilterBuilder staffFilter = FilterBuilders.termFilter("staffId", 936);
        query = QueryBuilders.filteredQuery(query, FilterBuilders.andFilter(stationFilter).add(staffFilter));
        SortBuilder dealSorter = SortBuilders.fieldSort("dealCount").order(SortOrder.ASC);
        SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();
        String json = searchSourceBuilder.query(query).toString();
        System.out.println(json);
    }
}
0
0
分享到:
评论

相关推荐

    ElasticSearch笔记

    ElasticSearch,简称为ES,是一个开源的、高度可扩展的分布式全文检索引擎。它基于 Java 开发,并利用 Lucene 作为其核心,实现了高效索引和搜索功能。ElasticSearch 通过Resultful API简化了与Lucene的交互,隐藏了...

    ElasticSearch 5.4 的测试java工程 依赖包很全 有配置好的log4j

    - **测试**:编写Java代码,使用提供的API进行索引创建、文档插入、查询等操作,利用JUnit进行单元测试。 - **优化**:根据性能指标调整索引设置,如分片数量、副本数量,以及查询优化等。 总的来说,这个Elastic...

    elasticsearch7.17.11版本分词器插件安装包

    Elasticsearch(简称ES)是一款基于Lucene的分布式、RESTful搜索引擎,广泛应用于日志收集、数据分析等领域,是ELK(Elasticsearch、Logstash、Kibana)堆栈的重要组成部分。在处理中文数据时,合理的分词对于提升...

    elasticsearch实战及使用ppt,私有资源自己 看的

    - **Elasticsearch vs Lucene**: ES在Java之上构建,简化了Lucene的使用,支持集群,解决了Lucene的一些复杂性和限制。 - **Elasticsearch vs Solr**: ES自带分布式协调,支持实时搜索,而Solr需借助Zookeeper进行...

    elasticsearch-7.6.2.zip

    Elasticsearch是一个开源的全文搜索引擎,它以分布式、RESTful接口和实时性为特点,广泛应用于数据搜索和分析场景。这个"elasticsearch-7.6.2.zip"压缩包包含了Elasticsearch 7.6.2版本的源代码,允许开发者深入理解...

    ElasticSearch相关安装包

    7. **API交互**:Elasticsearch提供RESTful API,允许通过HTTP请求进行操作,如索引文档、查询数据、管理索引等。常用工具如curl或Postman可用于测试API。 8. **安全配置**:默认情况下,Elasticsearch对外部是开放...

    最新版windows elasticsearch-8.2.0-windows-x86_64.zip

    2. RESTful API:Elasticsearch通过HTTP和JSON接口与外界交互,采用RESTful风格,使得操作简单易用,支持各种编程语言。 3. 倒排索引:Elasticsearch使用倒排索引来快速进行全文搜索,将每个词对应到包含它的文档...

    elasticsearch-7.15.2-windows-x86_64位

    2. **RESTful API**: 它基于HTTP和JSON,使得与Elasticsearch交互变得简单。开发者可以使用任何支持HTTP的编程语言来发送CRUD(创建、读取、更新、删除)操作。 3. **实时性**: Elasticsearch的数据索引和搜索几乎...

    elasticsearch-6.8.1.tar.gz

    Elasticsearch基于HTTP和JSON,提供了RESTful API,使得与之交互变得简单直观。开发者可以使用任何支持HTTP的编程语言与其进行通信,大大降低了使用门槛。 **7. 查询和聚合能力** Elasticsearch具备强大的查询和...

    elasticsearch.zip

    在 5.x 系列中,Elasticsearch 引入了许多增强功能,如更强大的聚合功能、对 JSON 的优化以及对大规模集群的改进支持。5.6.3 版本相较于更早版本,提升了性能和稳定性,同时保持了与早期版本的向后兼容性。 **2. ...

    elasticsearch-6.8.5.zip

    Elasticsearch 的核心特性包括分布式、RESTful 风格的接口、自动分词、实时分析、强大的搜索功能以及丰富的API。以下是关于这个版本的一些关键知识点: 1. **分布式架构**:Elasticsearch 采用分布式架构,允许数据...

    elasticsearch安装包.zip

    2. **RESTful接口**:Elasticsearch基于HTTP和JSON,提供了一种简单易用的RESTful API来操作索引、搜索、分析等任务,使得集成和开发变得非常便捷。 3. **近实时(NRT)**:虽然Elasticsearch是实时的,但存在一个...

    elasticsearch-analysis-ik-7.12.0.zip

    4. 为了验证IK Analysis插件是否成功安装,可以发送一个GET请求到Elasticsearch的插件列表API: ``` curl -X GET "localhost:9200/_cat/plugins?h=plugin" ``` 如果插件安装成功,你应该能在返回的结果中看到...

    ElasticSearch Head-0.1.5_0.zip

    它不仅支持JSON文档格式,还提供了RESTful API,使得与其他系统集成变得简单。Head插件则增强了其交互性,让用户可以通过浏览器直观地查看索引、节点状态、文档等信息。 首先,让我们深入了解Elasticsearch的核心...

    java电商源代码.

    【Java电商源代码详解】 Java电商源码是用于构建电子商务平台的软件代码,它涵盖了从用户界面、商品管理、订单处理、支付系统到库存控制等多个关键模块。在企业级开发中,Java因其强大的稳定性和可扩展性而成为首选...

    elasticsearch-5.2.2.zip

    2. RESTful API:Elasticsearch采用HTTP和JSON,提供了一套符合RESTful原则的API,使得开发者能方便地进行索引、搜索、更新和删除等操作。这对于集成到各种Web应用程序和服务中非常便利。 3. Lucene库:Elastic...

    最新版windows elasticsearch-7.10.2-windows-x86_64.zip

    2. **RESTful API**:Elasticsearch采用HTTP和JSON协议,提供了一套完整的RESTful API,使得开发者可以轻松地进行索引、搜索、聚合等操作,与各种编程语言无缝对接。 3. **倒排索引**:Elasticsearch的全文检索能力...

    ElasticSearch:Elasticsearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java语言开发的,并作为Apache许可条款下的开放源码发布,是一种。流行的企业级搜索引擎。Elasticsearch用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便

    通过分词技术,Elasticsearch能够将用户输入的查询语句拆分成关键词,并在索引中查找匹配的文档,提供毫秒级别的响应速度,为用户提供近乎实时的搜索体验。 其次,Elasticsearch的分布式特性是其另一大亮点。它设计...

Global site tag (gtag.js) - Google Analytics