Mongo文本索引,搜索字符串元素数组

时间:2017-03-26 02:42:07

标签: mongodb full-text-indexing

我想在MongoDB中创建一个文本索引,允许用户搜索字符串元素数组的字段。

例如,我的文档看起来像

{
    "stringfield": "hello",   
    "arrayfield": ["one", "two", "three"]
}

我希望搜索“两个”的用户找到此文档。用户无法直接访问数据库。目前,pymongo通过

执行查询
our_mongo.find({'$text':{'$search': user_input }}, {'score':{'$meta':"textScore"}})

根据mongo documentation

  

“文本索引可以包含其值为字符串或字符串元素数组的任何字段。”

成功搜索字符串值时,我无法获取文本索引来处理字符串元素数组。我的索引是使用以下命令创建的:

db.mydocs.createIndex(
    {
        '_id': 'text',
        'stringfield': 'text', // works
        'arrayfield': 'text', // does NOT work
    },
    {
        weights: {
            'stringfield': 10,
            'arrayfield': 5
        },
        name: 'search'
    }
);

0 个答案:

没有答案