Elasticsearch Query DSL之Term level queries
在Elasticsearch中,term level queries是最底层的查询,它们不会对输入文本进行分析,直接对索引中的term(词条)进行查询。最常见的term level query有term
查询和terms
查询。
以下是使用Elasticsearch DSL进行term查询的Python代码示例:
from elasticsearch import Elasticsearch
# 连接到Elasticsearch
es = Elasticsearch("http://localhost:9200")
# 使用term查询查找所有字段"field_name"的值为"value"的文档
query = {
"query": {
"term": {
"field_name": "value"
}
}
}
# 执行查询
response = es.search(index="your_index", body=query)
# 输出查询结果
print(response)
以下是使用Elasticsearch DSL进行terms查询的Python代码示例:
from elasticsearch import Elasticsearch
# 连接到Elasticsearch
es = Elasticsearch("http://localhost:9200")
# 使用terms查询查找所有字段"field_name"的值为"value1"或"value2"的文档
query = {
"query": {
"terms": {
"field_name": ["value1", "value2"]
}
}
}
# 执行查询
response = es.search(index="your_index", body=query)
# 输出查询结果
print(response)
这两个查询都是针对确切的值进行查询,不进行分析,适用于精确匹配的场景。
评论已关闭