【问题标题】:elasticsearch query with multiple categories具有多个类别的弹性搜索查询
【发布时间】:2020-02-07 17:01:29
【问题描述】:

所以我尝试按流派或类别查询电影。

在我的文档中,每部电影都可以有 1 个或多个类别。

{
    title: 'title1',
    genre: ['Horror', 'Action', 'Adventure']
},
{
    title: 'title2',
    genre: ['Action', 'Comedy']
}

等等.. 我想通过提供多种流派类型来查询它,并希望匹配最好的类型。 例如)查询匹配动作、喜剧的电影 -> 匹配在其类型字段中匹配最多类型的电影。它不必是完全匹配的。所以我基本上想找到与我的多种类型输入最匹配的文档。

有人有意见吗?该文档可以以不同的方式构建。 谢谢你:)

【问题讨论】:

    标签: elasticsearch categories


    【解决方案1】:

    使用 Terms Query 你会发现一个包含多个输入的文档

    GET <index_name>/_search
        {
    
          "size": 20,
          "query": {
              "bool": {
              "must": [
                {
                  "terms": {
                    "genre": [
                      "horror",
                      "action"
                    ]
                  }
                }
              ]
            }
          }
        }
    

    【讨论】:

    • 所以这意味着它必须有恐怖和动作对吧?所以最终我会像恐怖片,动作片,喜剧片,幻想片一样通过,并想找到最匹配的电影?如果我必须这样做,这意味着它必须包含所有字段,对吗?如果我错了,请告诉我
    • 上述查询只返回匹配恐怖和动作类型的文档。如果您想按最匹配的使用功能分数排序结果elastic.co/guide/en/elasticsearch/reference/current/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多