Elasticsearch示例

/**
 * @author: yqq
 * @date: 2019/2/28
 * @description:
 */
public class TestMain {
    private static RestClient restClient;

    static {
        restClient=RestClient.builder(new HttpHost("localhost",9200,"http")).build();
    }

    /**
     * 1.查询所有数据
     * @throws Exception
     */
    @Test
    public void QueryAllSkuId() throws Exception {
        String method = "POST";
        String endpoint = "/sku/doc/_search";
        HttpEntity entity = new NStringEntity("{\n" +
                "  \"query\": {\n" +
                "    \"match_all\": {}\n" +
                "  }\n" +
                "}", ContentType.APPLICATION_JSON);

        Response response = restClient.performRequest(method,endpoint, Collections.<String, String>emptyMap(),entity);
        System.out.println(EntityUtils.toString(response.getEntity()));
    }

    /**
     * 2.查询匹配,message为条件,新增的时候必须包含该字段
     * @throws IOException
     */
    @Test
    public void searchSkuId () throws IOException {

        /**
         * 添加的数据格式
         {"skuId":"111111111","content":"对于非基本类型,也就是常说的引用数据类型"}
         */

        String method = "POST";
        String endpoint = "/sku/doc/_search";
        HttpEntity entity = new NStringEntity(
                "{\n" +
                        "  \"query\": { \n" +
                        "    \"match\": {\n" +
                        "      \"content\": \"基本类型\"\n" +
                        "    }\n" +
                        "  }\n" +
                        "}", ContentType.APPLICATION_JSON);
        Response response = restClient.performRequest(method,endpoint, Collections.<String, String>emptyMap(),entity);
        System.out.println(EntityUtils.toString(response.getEntity()));
    }

    /**
     * 3.查询所有数据
     * @throws Exception
     */
    @Test
    public void QueryAll() throws Exception {
        String method = "POST";
        String endpoint = "/delete-index/_search/";
        HttpEntity entity = new NStringEntity("{\n" +
                "  \"query\": {\n" +
                "    \"match_all\": {}\n" +
                "  }\n" +
                "}", ContentType.APPLICATION_JSON);

        Response response = restClient.performRequest(method,endpoint, Collections.<String, String>emptyMap(),entity);
        System.out.println(EntityUtils.toString(response.getEntity()));
    }

    /**
     *4. 查询匹配,message为条件,新增的时候必须包含该字段
     * @throws IOException
     */
    @Test
    public void search () throws IOException {

        /**
         * 添加的数据格式
         {\n" +
         "    \"user\" : \"kimchy\",\n" +
         "    \"post_date\" : \"2009-11-15T14:12:12\",\n" +
         "    \"message\" : \"trying out Elasticsearch\"\n" +
         "}
         */

        String method = "POST";
        String endpoint = "/delete-index/_search/";
        HttpEntity entity = new NStringEntity(
                "{\n" +
                        "  \"query\": { \n" +
                        "    \"match\": {\n" +
                        "      \"message\": \"out\"\n" +
                        "    }\n" +
                        "  }\n" +
                        "}", ContentType.APPLICATION_JSON);
        Response response = restClient.performRequest(method,endpoint, Collections.<String, String>emptyMap(),entity);
        System.out.println(EntityUtils.toString(response.getEntity()));
    }
}

引入依赖:

        <dependency>
            <groupId>org.elasticsearch.client</groupId>
            <artifactId>elasticsearch-rest-client</artifactId>
            <version>6.5.3</version>
        </dependency>        

原文地址:https://www.cnblogs.com/heqiyoujing/p/11148299.html

时间: 2024-10-04 23:30:00

Elasticsearch示例的相关文章

beam与kafka和elasticSearch示例 在flink平台运行

示例实现beam用java编程,监听kafka的testmsg主题,然后将收取到的单词,按5秒做一次统计.结果输出到outputmessage 的kafka主题,同时同步到elasticSearch. kafka需要运行 启动:cd /root/kafuka/kafka_2.12-0.11.0.0 nohup bin/zookeeper-server-start.sh config/zookeeper.properties & nohup bin/kafka-server-start.sh co

ElasticSearch——Logstash输出到Elasticsearch配置

位置 在Logstash的.conf配置文件中的output中配置ElasticSearch 示例: output { elasticsearch{ action => "index" index => "%{[fields][product_type]}-transaction-%{+YYYY-MM}" hosts => ["10.0.xx.xx:9200", "10.0.xx.xx:9200", &quo

集成数据库

集成数据库 为 Express 应用添加连接数据库的能力,只需要加载相应数据库的 Node.js 驱动即可.这里将会简要介绍如何为 Express 应用添加和使用一些常用的数据库 Node 模块. Cassandra CouchDB LevelDB MySQL MongoDB Neo4j PostgreSQL Redis SQLite ElasticSearch 这些数据库驱动只是其中一部分,可在 npm 官网 查找更多驱动. Cassandra 模块: cassandra-driver 安装

express操作数据库

Express 首页 入门 使用指南 API 中文手册 进阶话题 有用的资源 集成数据库 为 Express 应用添加连接数据库的能力,只需要加载相应数据库的 Node.js 驱动即可.这里将会简要介绍如何为 Express 应用添加和使用一些常用的数据库 Node 模块. Cassandra CouchDB LevelDB MySQL MongoDB Neo4j PostgreSQL Redis SQLite ElasticSearch 这些数据库驱动只是其中一部分,可在 npm 官网 查找更

Haystack

什么是Haystack Haystack是django的开源全文搜索框架(全文检索不同于特定字段的模糊查询,使用全文检索的效率更高 ),该框架支持Solr,Elasticsearch,Whoosh, **Xapian搜索引擎它是一个可插拔的后端(很像Django的数据库层),所以几乎你所有写的代码都可以在不同搜索引擎之间便捷切换 安装 pip install django-haystack 配置 ###添加Haystack到INSTALLED_APPS 跟大多数Django的应用一样,你应该在你

Elasticserch学习之查询字符串

示例 1:查询所有类型为 tweet并在 tweet字段中包含 elasticsearch字符的文档. GET /_all/tweet/_search?q=tweet:elasticsearch 示例 2:查找 name字段中包含"john"和 tweet字段包含"mary"的结果. +name:john +tweet:mary 编码后:GET /_search?q=%2Bname%3Ajohn+%2Btweet%3Amary 示例 3:返回包含"mary

haystack(django的全文检索模块)

haystack haystack是django开源的全文搜索框架 全文检索:标题可以检索,内容也可以检索 支持solr ,elasticsearch,whoosh 1.注册app 在setting.py的app中注册"haystack" 2.指定用哪个引擎(solr,elasticsearch,whoosh) 将配置文件放在setting文件中 在你的`settings.py`中,你需要添加一个设置来指示站点配置文件正在使用的后端,以及其它的后端设置. `HAYSTACK--CONN

celery haystack

# Celery ## 1.什么是Celery Celery是一个简单.灵活且可靠的,处理大量消息的分布式系统 专注于实时处理的异步任务队列 同时也支持任务调度 ### Celery架构 ![20150314100608_187](C:\Users\Administrator\Desktop\celery和hystack\20150314100608_187.png) Celery的架构由三部分组成,消息中间件(message broker),任务执行单元(worker)和任务执行结果存储(ta

Haystack全文检索

1.什么是Haystack Haystack是django的开源全文搜索框架(全文检索不同于特定字段的模糊查询,使用全文检索的效率更高 ),该框架支持Solr,Elasticsearch(java写的就是用来全文检索的),Whoosh(python写的), **Xapian搜索引擎它是一个可插拔的后端(很像Django的数据库层),所以几乎你所有写的代码都可以在不同搜索引擎之间便捷切换 引擎检索比mysql快很多,安装引擎后以后检索数据不必从mysql中查找,而是直接从引擎中搜索 - 全文检索不