Algolia:跨多个字段搜索并获得评分结果

问题描述 投票:0回答:1

我在阿尔及利亚有以下任务要完成

上下文

我的索引中有以下记录集

[
    {
        "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,
    }
]

可搜索属性设置为

  • 无序(experience.superpowers)
  • 无序(experience.skills)

排名是默认排名,再加上

  • 自定义排名desc(completed_at)

我做什么

简单的文本搜索Golang Vue

我期望

[超级大国优先于技能,因此,由于“ Don Joe”拥有Golang和Vue的超级能力(而“ John Doe”具有Golang超级大国和Vue的技能应该首先出现]]

会发生什么

[2条记录具有相同的分数,并且打破平局的算法提出了错误的一条(这不是主要问题,问题在于它们的分数排在第一位)

关于如何配置算法以执行期望的任何想法?

提前感谢

我在Algolia环境中要完成以下任务,我的索引中有以下记录集[{“ name”:“ Don Joe”,“ experience”:{“ job_title”:“ Example 1”,...

search ranking facet algolia scoring
1个回答
0
投票

解决方案

© www.soinside.com 2019 - 2024. All rights reserved.