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

 

posted @   Bonnie_ξ  阅读(320)  评论(0编辑  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 25岁的心里话
点击右上角即可分享
微信分享提示