• Elasticsearch 类比 mysql 实现 in and like or


    常用的查询方式类比mysql

    <dependency>
        <groupId>org.elasticsearch</groupId>
        <artifactId>elasticsearch</artifactId>
        <version>5.6.1</version>
    </dependency>

    <dependency>
        <groupId>org.elasticsearch.client</groupId>
        <artifactId>transport</artifactId>
        <version>5.6.1</version>
    </dependency>    
    • and
    select * from user where about='中华人民共和国' and firstName=‘张’
    
    QueryBuilders.boolQuery().must(QueryBuilders.termQuery("about","中华人民共和国")).must(QueryBuilders.termQuery("firstName","张"))
    • or
    select * from user where about='中华人民共和国' and firstName=‘王’
    QueryBuilders.boolQuery().should(QueryBuilders.termQuery("about","中华人民共和国")).should(QueryBuilders.termQuery("firstName","王"))
    • and or 连用
    select * from user where  firstName='张' and( firstName='王’ or about='中华人民共和国公民')
    
    QueryBuilders.boolQuery()
                            .must(QueryBuilders.termQuery("firstName","张"))
                            .must(QueryBuilders.boolQuery()
                                            .should(QueryBuilders.termQuery("firstName","王"))
                                            .should(QueryBuilders.termQuery("about","中华人民共和国公民"))
    • like
    select * from user where about like '%中华%'

    QueryBuilders.wildcardQuery("about","*中华*")
    • in
    select * from user where about in ('中华人民共和国','中华人民共和国公民')
    
    QueryBuilders.boolQuery()
                            .should(QueryBuilders.termQuery("about","中华人民共和国"))
                            .should(QueryBuilders.termQuery("about","中华人民共和国公民"))
    故乡明
  • 相关阅读:
    U1
    std::vector的内存释放
    (转)浅谈PostgreSQL的索引
    PostgreSQL的generate_series函数应用
    linux 里的`反引号
    wireshark抓取本地回环数据包
    linux shell中 if else以及大于、小于、等于逻辑表达式介绍
    c++利用互斥锁实现读写锁
    c++互斥锁的实现
    大小端,"字节序"
  • 原文地址:https://www.cnblogs.com/luweiweicode/p/14072297.html
Copyright © 2020-2023  润新知