当前位置:  首页>> 技术小册>> ElasticSearch零基础到实战

Term Query API是一种基本的查询类型,用于精确匹配某个字段中包含指定值的文档。

本文将介绍ElasticSearch的Term Query API,并提供相应的代码示例。代码尽量简短,以便读者快速上手使用该API。

Term Query API概述
Term Query API用于查询一个字段中包含指定值的文档,类似于关系型数据库中的“等于”查询。该API的基本语法如下所示:

  1. {
  2. "query": {
  3. "term": {
  4. "field": {
  5. "value": "keyword"
  6. }
  7. }
  8. }
  9. }

其中,“field”表示要查询的字段名称,“keyword”表示要查询的关键字。如果该字段中包含了指定的关键字,则该文档符合查询条件,将被返回。

Term Query API代码示例
下面是一个使用Term Query API查询名为“my_index”的索引中,字段“title”中包含关键字“ElasticSearch”的文档的示例代码:

  1. import requests
  2. url = "http://localhost:9200/my_index/_search"
  3. headers = {
  4. "Content-Type": "application/json"
  5. }
  6. data = """
  7. {
  8. "query": {
  9. "term": {
  10. "title": {
  11. "value": "ElasticSearch"
  12. }
  13. }
  14. }
  15. }
  16. """
  17. response = requests.get(url, headers=headers, data=data)
  18. print(response.json())

上述代码向ElasticSearch实例的“/my_index/_search”路径发送了一个JSON格式的数据,该数据定义了查询的内容。在这里,我们使用Term Query API查询名为“my_index”的索引中,字段“title”中包含关键字“ElasticSearch”的文档。

如果查询成功,ElasticSearch会返回一个JSON格式的响应,包含了查询结果的相关信息,如文档ID、得分等。

Term Query API高级用法
Term Query API还支持一些高级用法,如指定查询的精度、忽略大小写等。下面是一些常用的高级用法示例代码:

指定查询精度

  1. data = """
  2. {
  3. "query": {
  4. "term": {
  5. "title": {
  6. "value": "ElasticSearch",
  7. "boost": 1.5
  8. }
  9. }
  10. }
  11. }

上述代码指定了查询精度为1.5倍,默认查询精度为1。

忽略大小写

  1. data = """
  2. {
  3. "query": {
  4. "term": {
  5. "title.keyword": "elasticsearch"
  6. }
  7. }
  8. }
  9. """
  10. response = requests.get(url, headers=headers, data=data)
  11. print(response.json())

上述代码通过指定字段名为“title.keyword”,从而忽略了大小写。如果不指定,Term Query API默认是区分大小写的。


该分类下的相关小册推荐: