【发布时间】:2013-07-25 15:43:21
【问题描述】:
我遇到了 mongodb fts 的问题。 我想搜索 Haskell 类型的部件。所以我得到了一个字段 type,例如,看起来像这样:
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]" 我总能得到正确的文件。
那么我需要的搜索出了什么问题? 是错误还是我不理解的概念?
谢谢
【问题讨论】:
标签: mongodb full-text-search special-characters