我有從微服務回傳的動態串列。
例如,
list1 = ["abc","def","efg"]
我正在創建另一個使用 Python 進行彈性搜索查詢的微服務。
假設我有一個名為word的彈性搜索欄位,該欄位的值的型別是string。
我想回傳此欄位值等于串列中任何元素的專案。
假設我們有一個名為some_index的彈性搜索索引,看起來像這樣
http://127.0.0.1:9200/some_index/_search?
[
{
"_source": {
"word": "bca"
}
},
{
"_source": {
"word": "abc"
}
},
{
"_source": {
"word": "efg"
}
},
{
"_source": {
"word": "xyz"
}
},
{
"_source": {
"word": "mnt"
}
},
]
當我們運行這個代碼模板時:
from elasticsearch import Elasticsearch
es = Elasticsearch()
list1 = ["abc","def","efg"]
es_query = {<the query i have to write>}
search = es.search(index="some_index", query=es_query)
print(search['hits']['hits'])
我想要這樣的東西回傳:
[
{
"_source": {
"word": "abc"
}
},
{
"_source": {
"word": "efg"
}
}
]
我必須寫什么查詢,或者您對這種情況有什么建議?
uj5u.com熱心網友回復:
我相信您正在尋找terms查詢。
GET /71196041/_search
{
"query": {
"terms": {
"word.keyword": ["abc","def","efg"]
}
}
}
你的代碼應該是這樣的:
from elasticsearch import Elasticsearch
es = Elasticsearch()
list1 = ["abc","def","efg"]
es_query = {
"terms": {
"word.keyword": list1
}
}
search = es.search(index="some_index", query=es_query)
print(search['hits']['hits'])
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/429525.html
上一篇:openldap日志的正則運算式
