返回顶部
首页 > 资讯 > 后端开发 > Python >Elasticsearch查询之Term Query示例解析
  • 804
分享到

Elasticsearch查询之Term Query示例解析

Elasticsearch Term查询Elasticsearch Term 2023-05-17 08:05:18 804人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

目录Term Query基本语法Java代码写法Terms-匹配多个值基本语法Java写法Term查询可配置的其他参数总结Term Query Term Query是一种最基本的查询

Term Query

Term Query是一种最基本的查询方式,它用于在elasticsearch中查询一个字段中包含指定关键词的文档,与Mysql中的等值查询类似。使用Term Query时,可以对字段进行完全匹配,且区分大小写。

基本语法

GET /{index}/_search
{
    "query": {
        "term": {
            "{field}": "{value}"
        }
    }
}

其中,{index}表示查询的索引名称,{field}表示需要查询的字段,{value}表示需要匹配的值。

Java代码写法

// TODO 省略导入包
import java.io.IOException;
public class TerMQueryExample {
    public static void main(String[] args) throws IOException {
        RestHighLevelClient client = new RestHighLevelClient(
                RestClient.builder(
                        new HttpHost("localhost", 9200, "http")));
        SearchRequest searchRequest = new SearchRequest("my_index");
        // 这里的searchSourceBuilder 相当于 query:{}
        SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();
        // query:{term:{"field_name":"field_value"}}
        searchSourceBuilder.query(QueryBuilders.termQuery("field_name", "field_value"));
        searchSourceBuilder.timeout(new TimeValue(60, TimeUnit.SECONDS));
        searchRequest.source(searchSourceBuilder);
        // 执行查询
        SearchResponse searchResponse = client.search(searchRequest, RequestOptions.DEFAULT);
        // TODO: 解析搜索结果
        client.close();
    }
}

Terms-匹配多个值

term查询只能用于匹配该属性的单个值,若想匹配多个值,可以用terms查询

基本语法

GET /{index}/_search
{
    "query": {
        "terms": {
            "{field}": [
                "{value1}",
                "{value2}",
                "{value3}"
            ]
        }
    }
}

Java写法

SearchRequest searchRequest = new SearchRequest("index");
SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();
// 注意这里是使用termsQuery("field",value1,value2)
TermsQueryBuilder termsQueryBuilder = QueryBuilders.termsQuery("field", "value1", "value2", "value3");
searchSourceBuilder.query(termsQueryBuilder);
searchRequest.source(searchSourceBuilder);
SearchResponse searchResponse = client.search(searchRequest, RequestOptions.DEFAULT);

Term查询可配置的其他参数

Term Query还有其他的一些设置参数,比如:

  • boost参数:可以为查询结果设置权重,提高或降低查询结果的得分,影响查询结果的排名。
  • case_insensitive参数:设置是否对查询进行大小写不敏感的匹配。
  • rewrite参数:控制查询的rewrite策略,主要用于控制查询性能,缓存占用等方面。
  • index参数:控制是否在查询时使用倒排索引,以及使用哪些倒排索引进行查询。

总结

使用Term Query时需要注意以下几点:

  • 仅匹配完全匹配的关键字。
  • 字段必须是不分词的。
  • 通常情况下,不需要将关键字转换为小写字母,因为Term Query不会将关键字转换为小写字母。

总之,Term Query非常适合用于对某个字段进行精确匹配的场景。如果您想进行模糊匹配或全文搜索,请考虑使用Match Query。

以上就是Elasticsearch查询之Term Query示例解析的详细内容,更多关于Elasticsearch Term查询的资料请关注编程网其它相关文章!

--结束END--

本文标题: Elasticsearch查询之Term Query示例解析

本文链接: https://lsjlt.com/news/210987.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Elasticsearch查询之Term Query示例解析
    目录Term Query基本语法Java代码写法Terms-匹配多个值基本语法Java写法Term查询可配置的其他参数总结Term Query Term Query是一种最基本的查询...
    99+
    2023-05-17
    Elasticsearch Term查询 Elasticsearch Term
  • Elasticsearch查询之MatchQuery示例详解
    目录Match Querymatch查询示例JavaAPI查询示例match_phrase查询示例match查询的常用参数Match查询与Term查询的区别总结Match Query...
    99+
    2023-05-17
    Elasticsearch Match查询 Elasticsearch 查询
  • Elasticsearch之基本查询及组合查询操作示例
    目录Elasticsearch查询一 基本查询1.1 match查询1.2 term查询1.3 terms查询1.4 控制查询的返回数量(分页)1.5 match_all 查询1.6...
    99+
    2024-04-02
  • Elasticsearch查询RangeQuery语法示例
    目录Range Query查询语法示例查询数字范围查询日期范围查询字符串范围注意JavaAPI查询示例总结Range Query Range查询可以查询一个范围内的文档。它可以用来查...
    99+
    2023-05-17
    Elasticsearch查询Range Query Elasticsearch 查询
  • ElasticSearch学习之多条件组合查询验证及示例分析
    目录多条件组合查询boolconstant_score查询验证 & 分析验证分析排序默认排序自定义排序tips单字段排序多字段scroll分页初始化快照 & 快照保存...
    99+
    2023-02-02
    ElasticSearch 多条件组合查询 ElasticSearch 组合查询
  • Elasticsearch基本查询及组合查询实例分析
    这篇文章主要介绍“Elasticsearch基本查询及组合查询实例分析”,在日常操作中,相信很多人在Elasticsearch基本查询及组合查询实例分析问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Elast...
    99+
    2023-06-30
  • MySQL数据查询之子查询的示例分析
    这篇文章主要介绍了MySQL数据查询之子查询的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。子查询是指一个查询语句嵌套在另一个查询语...
    99+
    2024-04-02
  • MySQL查询语句之复杂查询的示例分析
    这篇文章主要介绍MySQL查询语句之复杂查询的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!MySQL是一种关系数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有...
    99+
    2024-04-02
  • Nest复杂查询示例解析
    目录Nest 复杂查询QueryUserDto是查询参数类型UserService如何实现Nest 复杂查询 复杂查询包括分页、模糊查询、多条件筛选、排序等,满足前端对查询的所有诉求...
    99+
    2022-12-08
    Nest 复杂查询 Nest 查询
  • 如何解析elasticsearch中的DSL查询
    这期内容当中小编将会给大家带来有关如何解析elasticsearch中的DSL查询,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。ES提供了基于JSON的完整查询DSL,它由两种子句组成 ##1.查询分类 ...
    99+
    2023-06-19
  • Elasticsearch聚合查询及排序操作示例
    目录1 es排序2 match和match的区别3 分页查询4 es 组合查询5 结果过滤展示字端6 结果高亮展示7 聚合查询avg、max、min、sum、分组8 mapping和...
    99+
    2024-04-02
  • Elasticsearch查询及聚合类DSL语句宝典示例详解
    目录前言一、match二、match_phrase三、mult_match四、term五、terms六、range七、wildcard八、regexp九、组合多查询(bool查询)十...
    99+
    2023-01-03
    Elasticsearch查询聚合类DSL Elasticsearch 聚合查询
  • ElasticSearch 深度分页示例解析
    目录1 前言2 from + size 分页方式2.1 Query 阶段2.2 Fetch 阶段2.3 ES 示例2.4 实现示例2.5 小结3 Scroll 分页方式3.1 执行过...
    99+
    2023-02-22
    ElasticSearch 深度分页 ElasticSearch 分页
  • 数据库查询优化之子查询优化的示例分析
    这篇文章将为大家详细讲解有关数据库查询优化之子查询优化的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1. 案例取所有不为掌门人的员工,按年龄分组!selec&#...
    99+
    2024-04-02
  • LINQ查询的示例分析
    这篇文章主要介绍LINQ查询的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!在之前的C#版中,开发者应用许多不同的查询语言来访问不同的数据源。例如,要查询一个XML文件,开发者会使用XPath,要查询一个SQ...
    99+
    2023-06-17
  • OJB查询的示例分析
    这篇文章主要为大家展示了“OJB查询的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“OJB查询的示例分析”这篇文章吧。OJB查询该文档介绍了不同查询机制的使用。文档中的代码都通过Juni...
    99+
    2023-06-03
  • JS解析url查询参数的示例分析
    这篇文章主要介绍了JS解析url查询参数的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。具体代码如下所述:var path...
    99+
    2024-04-02
  • MySQL慢查询分析工具pt-query-digest详解
    目录一、简介二、安装pt-query-digest三、pt-query-digest语法及重要选项四、分析pt-query-digest输出结果五、用法示例一、简介 pt-query-digest是用于分析mysql慢查...
    99+
    2023-01-13
    MySQL慢查询分析工具 MySQL慢查询 MySQL慢查询pt-query-diges
  • Oracle12CR2查询转换之表扩展的示例分析
    这篇文章给大家分享的是有关Oracle12CR2查询转换之表扩展的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。表扩展工作原理表分区使用表扩展成为可能。如果在一个分区表上...
    99+
    2024-04-02
  • Mysql优化技巧之Limit查询的示例分析
    小编给大家分享一下Mysql优化技巧之Limit查询的示例分析,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!前言在实际业务中对于分页来说是一个比较常见的业务需求。那么就会使用到limit查...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作