0

我遇到了 mongodb fts 的问题。我想搜索 Haskell 类型的部件。所以我得到了一个字段类型,例如,如下所示:

type : "[a] -> [b] -> [(a,b)]"

我可以搜索"[a]""[b]""[(a,b)]",我会得到包含上述字段的正确文档。但是,如果我尝试搜索"[a] -> [b]",我将一无所获。

> db.mycollection.runCommand("text",{search : "\"[a] -> [b]\""})
{
"queryDebugString" : "a||||||[a] -> [b]",
"language" : "none",
"results" : [ ],
"stats" : {
    "nscanned" : 1,
    "nscannedObjects" : 0,
    "n" : 0,
    "nfound" : 0,
    "timeMicros" : 185
},
"ok" : 1
}

首先,我认为我应该转义查询中的特殊字符,但这没有区别,并且queryDebugString看起来总是一样的。

如果我不使用箭头并且我的条目看起来像这样,

type : [a] > [b] > [(a,b)]

一切都很好。我可以搜索"[a]""[b]""[(a,b)]" AND "[a] > [b]",我总能找到正确的文档。

那么我需要的搜索有什么问题?是错误还是我不理解的概念?

谢谢

4

1 回答 1

0

-意味着它是一个否定搜索,但这不应该发生在短语搜索中(用“括起来”)。我建议您在http://jira.mongodb.org提交错误报告,因为这似乎是一个错误。

于 2013-07-26T10:44:42.723 回答