CouchDB Lucene如何对包含负(-)的查询进行URL编码

CouchDB Lucene如何对包含负(-)的查询进行URL编码,lucene,couchdb,couchdb-lucene,Lucene,Couchdb,Couchdb Lucene,我想查询包含负号(-)的文本,例如 foo-bar 使用couchdb lucene全文查询。 按照lucene规则,我必须避开负数,结果是 foo\-bar foo%5C-bar 最后,我必须对反斜杠进行URL编码,从而 foo\-bar foo%5C-bar 因此,完整的url应该是: http://127.0.0.1:5984/_fti/local/db/_design/foo/by_subject?q=foo%5C-bar 两者都不起作用。结果总是分成两个阶段 "q":"d

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

foo-bar 
使用couchdb lucene全文查询。 按照lucene规则,我必须避开负数,结果是

foo\-bar
foo%5C-bar
最后,我必须对反斜杠进行URL编码,从而

foo\-bar
foo%5C-bar
因此,完整的url应该是:

http://127.0.0.1:5984/_fti/local/db/_design/foo/by_subject?q=foo%5C-bar
两者都不起作用。结果总是分成两个阶段

"q":"default:foo default:bar"
导致仅包含foo或bar的文档也被找到

谢谢你的帮助

逃避“-”并不是你真正需要的。您遇到的问题是,您的分析器在“-”上标记,因此您实际上在搜索两个不同的术语。你需要搜索一个短语。只需将其用引号括起来:
“foo-bar”


你是对的!使用you's短语“foo-bar”给出答案:“q”:“default:\“foo-bar\”,并找到正确的文档。谢谢你!