안녕하세요 저는 탄력적 검색에서 상태가 혼란 스럽습니다. 이 bool 쿼리를 어떻게 처리 할 수 있는지 메서드에 매개 변수가 제공되지 않으면 매개 변수가 비어 있지 않으면 코드가 제대로 작동합니다.
def elastic_search(category=None):
client = Elasticsearch(host="localhost", port=9200)
query_all = {
'size': 10000,
'query': {
"bool": {
"filter": [
{
"match": {
"category": category
}
}]
},
}
}
resp = client.search(
index="my-index",
body=query_all
)
return resp
match_all
범주가 없음 인 경우 사용해야 합니다. 범주 값에 따라 조건부로 쿼리를 작성하면됩니다.
이런 식으로해야합니다
def elastic_search(category=None):
client = Elasticsearch(host="localhost", port=9200)
query_all = {
'size': 10000,
'query': {}
}
if category is None:
query_all['query']['match_all'] = {}
else:
query_all['query']['bool'] = {
"filter": [
{
"match": {
"category": category
}
}
]
}
resp = client.search(
index="my-index",
body=query_all
)
return resp
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다