【问题标题】:How do I run an autocomplete $search on multiple fields?如何在多个字段上运行自动完成 $search?
【发布时间】:2020-07-09 22:16:45
【问题描述】:

documentation 声明 path 必须是 string 而不是字符串数组。我只是想确认这实际上是唯一的可能性,如果在任何一种情况下,都有推荐的方法来做到这一点。

例如我想在 titleplot 上搜索(自动完成)我的电影中的文本 "hammer"

在当前场景中,我可以通过titleplot 轻松实现搜索。但是,如果我尝试为两者都这样做,使 path 成为一个字符串数组,这在其他运算符上是可以接受的,我会得到一个错误

【问题讨论】:

标签: mongodb-atlas mongodb-atlas-search


【解决方案1】:

如果您尝试匹配标题和情节,请在 compound 运算符中使用 should:

在两个字段上创建自动完成搜索索引:titleplot

$search: {
    compound: {
        should: [
            {
                autocomplete: {
                    query:'hammer',
                    path: 'title',
                },
            },
            {
                autocomplete: {
                    query:'hammer',
                    path: 'plot',
                },
            },
        ],
    },
},

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-05
    • 2019-05-18
    • 1970-01-01
    • 1970-01-01
    • 2013-07-12
    相关资源
    最近更新 更多