如何将弹性搜索代码推广到3种以上的技能

2024-05-23 16:29:31 发布

您现在位置:Python中文网/ 问答频道 /正文

目前我的弹性搜索查询最多可以使用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

如何将此代码概括为任意数量的技能


Tags: 代码search数量def技能matchqueryresults