gpt4 book ai didi

elasticsearch - ElasticSearch渗透器与查询的效率

转载 作者:行者123 更新时间:2023-12-03 00:19:12 27 4
gpt4 key购买 nike

我有求职者和工作 list 。我正在尝试确定哪些候选人符合特定职位的资格。我们已经在ES中索引了每个列表。我看到可以执行此操作的两种方法是:

  • 索引ES中的每个候选者,然后根据列表的参数构建查询以搜索/筛选出合格的候选者,并将其作为结果返回。
  • 使用percolate功能为每个候选者创建一个percolate查询,然后通过针对候选percolator索引运行列表数据来找出匹配的候选者。

  • 哪一个是更有效和大规模的(几百万条记录)?我没有完全了解渗透器是如何实现的(我还没有找到任何实际解释实现的文章),我担心的是,使用渗透器,我实际上会对每个列表中的每个候选者运行一个查询。

    最佳答案

    使用Percolator,您可以通过“查询”索引运行搜索查询。因此,在您的情况下,Elasticsearch执行的相对“工作”在两种情况下都相似:
    C: Number of Candidates
    CQ: Number of Candidate-Job-Search-Alert-Queries

    (根据您的描述,系统中的C = CQ)

    选项1 。索引所有候选人。每次添加新作业时,都在候选索引上运行搜索以匹配作业的特征。 (搜索 C 记录)

    选项2 。在.percolator索引中为每个候选人注册1个Job-Search-Alert-Query。每次添加新作业时,请使用Percolate API识别匹配的Candidate-Job-Search-Alert-Queries。 (搜索 CQ 查询记录)

    从性能/可伸缩性的 Angular 来看,更大的担忧是Percolator requires the entire .percolator index to be loaded to memory

    从功能的 Angular 来看,您可能需要Percolator limits certain query types(这将是对选项1的投票)。

    如果您发现自己处于CQ << C的情况下(例如用户保存的搜索),那么Percolator方法更有可能胜过必须查询整个候选索引的情况。

    关于elasticsearch - ElasticSearch渗透器与查询的效率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32849910/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com