目前,我的弹性搜索查询最多可以使用3种技能。如何将以下提到的查询归纳为任意数量的技能
为了更快地解决问题,我重复了每种技能的代码。
def results(indexedfiles, query_skills_list):
if len(query_skills_list) == 3:
search_results = indexedfiles.search(
index="indexed_rem",
doc_type="rem1",
body={
"_source": ["Filename", "SkillsFound"],
"from": 0,
"size": 10,
"query": {
"bool": {
"must": [
{"match_phrase": {"SkillsFound": query_skills_list[0]}},
{"match_phrase": {"SkillsFound": query_skills_list[1]}},
{"match_phrase": {"SkillsFound": query_skills_list[2]}},
]
}
},
},
)
return search_results
我如何概括此代码的各种技能?
答案 0 :(得分:0)
创建您的must子句列表,其中技能计数器为SKILLS_COUNT。
must_query = [{'match_phrase': {'SkillsFound': query_skills_list[i]}} for i in range(SKILLS_COUNT)]
并使用'must': must_query
在代码中进行设置。