• es 全文查询


    搜索匹配所有matchAllQuery、全文查询[matchQuery、multiMatchQuery、commonTerms...

    • 匹配所有

    最简单的查询,匹配所有文档,给它们一个_score 1.0。

    QueryBuilder qb = matchAllQuery();
    • 匹配查询:用于执行全文查询的标准查询,包括模糊匹配和短语或邻近查询。//查询出包含 value 的数据 或者包含不连续的字符
    QueryBuilder qb = matchQuery("field","value" );
    
    示例:查询:QueryBuilder qb = matchQuery("name", "张三");
    
    结果
    
    数据:{"address":"benjing","age":"12","name":"张三2"}
    数据:{"address":"benjing","age":"12","name":"aa张三3","num":12}
    数据:{"address":"benjing","age":"12","name":"张爱三","num":12}
    数据:{"address":"benjing","age":"12","name":"张三3"}
    数据:{"address":"benjing","age":"12","name":"李宏旭 张三3","num":12}
    数据:{"address":"benjing","age":"12","name":"张四","num":12}
    • 多匹配查询:multi_match查询,匹配查询的多字段版
    QueryBuilder qb = multiMatchQuery(
        "kimchy elasticsearch",  //"user", "message"         //字段
    );

    示例:查询:QueryBuilder qb = multiMatchQuery("张三 12", "name","age");

    结果

    数据:{"address":"benjing","age":"1","name":"张三"}
    数据:{"address":"benjing","age":"12","name":"张三2"}
    数据:{"address":"benjing","age":"12","name":"aa张三3","num":12}
    数据:{"address":"benjing","age":"12","name":"张爱三","num":12}
    数据:{"address":"benjing","age":"12","name":"张三3"}
    数据:{"address":"benjing","age":"12","name":"李宏旭 张三3","num":12}
    数据:{"address":"benjing","age":"12","name":"王五","num":3}
    数据:{"address":"benjing","age":"12","name":"张四","num":12}
    数据:{"address":"benjing","age":"12","name":"王五"}
    • common_terms查询:一个更专业的查询,它提供了对不常见单词的更多偏好

    QueryBuilder qb = commonTermsQuery("field","value");

    示例:查询:QueryBuilder qb = commonTermsQuery("name", "张三");

    结果:

    数据:{"address":"benjing","age":"1","name":"张三"}
    数据:{"address":"benjing","age":"12","name":"张三2"}
    数据:{"address":"benjing","age":"12","name":"aa张三3","num":12}
    数据:{"address":"benjing","age":"12","name":"张爱三","num":12}
    数据:{"address":"benjing","age":"12","name":"张三3"}
    数据:{"address":"benjing","age":"12","name":"李宏旭 张三3","num":12}
    • query_string查询:支持紧凑的Lucene查询字符串语法,允许您在单个查询字符串中指定AND | OR | NOT条件和多字段搜索。仅限专家用户

    QueryBuilder qb = queryStringQuery("+kimchy -elasticsearch"); //value
    • simple_query_string:query_string语法的更简单,更健壮的版本,适合直接向用户公开

    QueryBuilder qb = simpleQueryStringQuery("+kimchy -elasticsearch");//value
    故乡明
  • 相关阅读:
    如何使用Flexbox和CSS Grid,实现高效布局
    最常用的四种大数据分析方法
    如何编写更好的SQL查询:终极指南-第三部分
    如何编写更好的SQL查询:终极指南-第二部分
    如何编写更好的SQL查询:终极指南-第一部分
    ES2017异步函数现已正式可用
    相对传统桌面设计器,在线报表设计器价值何在?
    如何实现报表设计中的高精度报表套打?
    2017年前端开发工具趋势
    Angular2 VS Angular4 深度对比:特性、性能
  • 原文地址:https://www.cnblogs.com/luweiweicode/p/14072203.html
Copyright © 2020-2023  润新知