Node js MongoDb Atlas 搜索自动完成

问题描述

我刚刚阅读了有关 Atlas Search 的教程。所以我尝试将搜索引擎与 autocomplete 集成。我尝试了一个代码。这是:

exports.search = (req,res,next) => {
    
    Offer.aggregate([{
        $search: {
            "autocomplete": {
                "query": req.params.id,"path": "subcategory","fuzzy": {
                    "maxEdits": 2,"prefixLength": 3
                }
            }
        }
    }],function(err,offers) {
        if (err) {

            res.status(400).json({ err });
            console.log(err);

        } else {
            res.status(200).json(offers)
        }
    })
};

这里是搜索索引中的代码

{
  "mappings": {
    "dynamic": false,"fields": {
      "subcategory": [
        {
          "foldDiacritics": false,"maxGrams": 7,"minGrams": 4,"tokenization": "edgeGram","type": "autocomplete"
        }
      ]
    }
  }
}

所以我有一个名为“子类别”的路径,因此我希望搜索词与子类别中的此内容相匹配。但是当我做测试时,我得到了数据库中的所有数据,而不仅仅是搜索词。我错过了什么吗?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...