我想查询包含减号 (-) 的文本,例如
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 的文档也被发现。
感谢您的帮助!
最佳答案
转义“-”并不是您真正需要的。您遇到的问题是您的分析器对“-”进行标记,因此您实际上是在搜索两个不同的术语。您需要搜索一个短语。至search a phrase ,只需将其用引号引起来:"foo-bar"
或
http://127.0.0.1:5984/_fti/local/db/_design/foo/by_subject?q=%22foo-bar%22
关于lucene - CouchDB Lucene 如何对包含减号 (-) 的查询进行 URL 编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25408915/