0

我想搜索例如:“项目启动”。我正在用“/”替换空白。当我直接从 solr 查询时,这可以正常工作。但是从 solrj 调用时它不起作用。请帮忙!

4

1 回答 1

0

如果用户使用短语“project launch”(带引号)输入搜索查询,那么您可以使用ClientUtils.escapeQueryChars通过 Solrj转义引号:

String q = "\"project launch\"";
q = ClientUtils.escapeQueryChars(q);

请注意,这将转义查询语法中使用的所有 Lucene 特殊字符。如果您想更好地控制查询中允许使用哪些特殊(查询语法)字符,请创建您自己的此函数副本并进行相应修改。

于 2013-11-11T20:27:18.260 回答