首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Algolia:搜索多个字段和得分结果

Algolia:搜索多个字段和得分结果
EN

Stack Overflow用户
提问于 2020-06-14 16:33:31
回答 1查看 151关注 0票数 1

我有以下任务要完成

上下文

我的索引中有以下记录集

代码语言:javascript
复制
[
    {
        "name" : "Don Joe",
        "experience": {
          "job_title": "Example 1",
          "superpowers": [
            "Golang", // <- MATCH (see below)
            "Vue",    // <- MATCH (see below)
            "React"
          ],
          "skills": [
            "Docker",
            "Goa",
            "Elixir",
            "Kubernetes",
            "Istio",
            "Phoenix",
            "Javascript"
          ]
      },
      "completed_at": 1590509228,
    },
    {
        "name" : "John Doe"
        "experience": {
          "job_title": "Example 2",
          "superpowers": [
            "Golang", // <- MATCH (see below)
            "Phoenix",
            "React"
          ],
          "skills": [
            "Docker",
            "Vue",    // <- MATCH (see below)
            "Kubernetes",
            "Elixir",
            "Goa",
            "Javascript",
            "Typescript"
          ]
      },
      "completed_at": 1590519361,
    }
]

可搜索属性设置为

  • unordered(experience.superpowers)
  • unordered(experience.skills)

排名是默认的,加上

desc(completed_at)

  • 自定义排名

我所做的

一个简单的文本搜索Golang Vue

我所期望的

超能力优先于技能,所以“唐·乔”在他的超能力中有高朗和伍(而“无名氏”则有高朗超能力和伏技能)。

取而代之的是什么?

这两张唱片的得分是相同的,而打破平分算法则带来了错误的分数(这不是这里的主要问题,问题是他们第一名的分数是相同的)。

你知道我该如何配置藻类来实现我所期望的吗?

提前感谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-06-14 16:33:31

解决方案

我解决了以下问题:

  1. 将文本搜索转换为“基于方面的搜索”
  2. 设置experience.skillsexperience.superpowers to be facets
  3. 使用一系列带有分数的OR过滤器获得所需的方面{“过滤器”:"experience.skills:Vue或experience.skills:Golang或experience.superpowers:Vue或experience.superpowers:Golang","sumOrFiltersScores":true }

:将"sumOrFiltersScores": true设置为启用分数和,并使用加权搜索

  • 调用前面步骤中的有效负载调用搜索方法。

资源:

https://www.algolia.com/doc/guides/managing-results/refine-results/filtering/in-depth/filter-scoring/

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62375362

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档