【问题标题】:mongodb full text search and json objectsmongodb全文搜索和json对象
【发布时间】:2013-07-23 02:08:31
【问题描述】:

我正在运行 mongodb v2.4.5。我有一个包含以下字段的文档:

{ "_id" : ObjectId("<someid>"), temp:"python", github_repo_languages" : { "python" : 17, "java" : 984 } }

如果我运行查询:

db.users.runCommand( "text", { search: "java" })

{
"queryDebugString" : "java||||||",
"language" : "english",
"results" : [ ],
"stats" : {
    "nscanned" : 0,
    "nscannedObjects" : 0,
    "n" : 0,
    "nfound" : 0,
    "timeMicros" : 97
},
"ok" : 1
}

mongodb 没有找到任何文档。

这是我的索引:

> db.users.getIndexes()
[
{
    "v" : 1,
    "key" : {
        "_id" : 1
    },
    "ns" : "workingon.users",
    "name" : "_id_"
},
{
    "v" : 1,
    "key" : {
        "_fts" : "text",
        "_ftsx" : 1
    },
    "ns" : "workingon.users",
    "name" : "users_text_index",
    "weights" : {
        "$**" : 1
    },
    "default_language" : "english",
    "language_override" : "language",
    "textIndexVersion" : 1
}
]

其他搜索适用于简单的文本字段。问题是复杂的 json 对象吗?是否有计划添加复杂的 json 对象?

【问题讨论】:

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


    【解决方案1】:

    根据文档 (http://docs.mongodb.org/manual/core/text-search/),文本索引应位于其值为字符串或字符串元素数组的字段上。因此,正如您所指出的,json 字段将不起作用。

    【讨论】:

    • @drfence,对我来说,这也是非常重要的一点,需要明确提及。我看到它只是因为我对这个问题很感兴趣。
    • 我提交了更改请求,以便更清楚地说明,也许他们会接受。
    • 投反对票,除了投反对票之外的评论比投反对票更有帮助。
    猜你喜欢
    • 2018-02-09
    • 1970-01-01
    • 2018-11-23
    • 1970-01-01
    • 2014-11-24
    • 1970-01-01
    • 2018-10-26
    • 1970-01-01
    相关资源
    最近更新 更多