2

我想查询包含减号 (-) 符号的文本,例如

foo-bar 

使用 couchdb lucene 全文查询。遵循 lucene 规则,我必须避开减号,导致

foo\-bar

最后我必须对反斜杠进行 urlencode 导致

foo%5C-bar

所以完整的网址是:

http://127.0.0.1:5984/_fti/local/db/_design/foo/by_subject?q=foo%5C-bar

两者都不起作用。结果总是分成两个短语

"q":"default:foo default:bar"

导致也找到仅包含 foo 或 bar 的文档。

谢谢你的帮助!

4

1 回答 1

2

转义“-”并不是您真正需要的。您遇到的问题是您的分析器在“-”上进行标记,因此您实际上是在搜索两个不同的术语。相反,您需要搜索一个短语。要搜索短语,只需将其括在引号中: "foo-bar"

或者

http://127.0.0.1:5984/_fti/local/db/_design/foo/by_subject?q=%22foo-bar%22
于 2014-08-21T04:19:22.537 回答