【问题标题】:Mongodb - Full text search on embedded documentMongodb - 嵌入文档的全文搜索
【发布时间】:2016-01-11 20:39:44
【问题描述】:

我们有一个 Person 集合,其中的文档看起来像这样:

{
...
    address: {
        city: 'Miami',
        state: 'Florida',
        street: 'My favorite street'
    }
...
}

现在,我想对地址执行全文搜索。我在所有文档字段上创建了一个文本索引:

db.Person.createIndex({'$**': 'text'}, {name: 'FullTextIndex'})

出了点问题,因为它对地址字段中的术语不起作用,这对我来说很重要。

当我执行以下命令时:

db.Person.find({$text: {$search: 'Florida my favorite street'}})

它返回一个空数组。会发生什么?

【问题讨论】:

  • 我按照上述所有步骤操作,它对我来说工作正常(它返回插入的文档)。您使用的是哪个版本的 MongoDB?可能是MongoDB shell客户端版本的原因
  • 你用的是什么版本?
  • MongoDB 外壳版本:3.0.4
  • 和我一样……好奇怪……
  • 那服务器版本呢?你是在使用副本集还是只是一个独立的实例?

标签: javascript mongodb full-text-search full-text-indexing


【解决方案1】:

为了使新索引正常工作,只需删除旧索引

 db.collection.dropIndex(index)

Model.collection.dropAllIndexes();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-05-24
    • 2021-06-03
    • 2018-02-09
    • 1970-01-01
    • 2020-09-18
    • 1970-01-01
    • 2013-09-05
    相关资源
    最近更新 更多