我想搜索例如:“项目启动”。我用“/”替换空格。当我直接从solr查询时,这可以正常工作。但是当它从solrj调用时它不起作用。请帮忙!
答案 0 :(得分:0)
如果用户使用短语“project launch”(带引号)输入了搜索查询,那么您可以使用ClientUtils.escapeQueryChars来使用Solrj转义引号:
String q = "\"project launch\"";
q = ClientUtils.escapeQueryChars(q);
请注意,这将逃脱所有Lucene special characters used in query syntax。如果您想要更多地控制查询中允许的特殊(查询语法)字符,那么请创建自己的此函数副本并进行相应修改。