我遇到了 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]",我总能找到正确的文档。
那么我需要的搜索有什么问题?是错误还是我不理解的概念?
谢谢