MongoDB文本搜索找到相似的词

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

我们有一个数据库,其中包含葡萄酒和啤酒的名称。我们正在使用MongoDB,每个葡萄酒或啤酒公司的文档结构如下所示:

{
    name: String //this is the company name
    products: [
       {
        name: String //this is the product's name
        ...
       }
    ],
    ...
}

我已经在公司名称和产品名称上都创建了文本索引,文本搜索工作正常,但是没有按预期工作。例如,当某人搜索名为Bellissima的产品且他们发送的文本为Belisima Bellisima或该词的任何变体形式。

MongoDB的文本搜索是否有可能?如何使它更智能?我不是MongoDB专家,但我知道它与词干或某些词干有关,所以有办法修改吗?还是任何其他解决方法都能为用户提供最合适的结果?因为搜索Belisima不会返回任何结果,因为那不是保存在数据库中的确切单词。

mongodb mongoose mongodb-query aggregation-framework mongoose-populate
1个回答
0
投票

您要查找的功能称为模糊搜索,而MongoDB不支持。可以在$text中找到MongoDB中here索引的功能。

我建议的解决方案是将您的数据复制到全文搜索引擎中,例如Elasticsearch,提供Fuzzy Search

您可以签出Mongo Connector以自动执行数据复制。

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