我们使用的是OpenSearchServerv1.4。当用户输入搜索文本“冰箱温度图(5”)时,我们创建一个URL,类似于
http://10.192.16.160:8080/services/rest/select/search/<indexname/json?login=<login>&key=<apikey>template=search&query=Refrigerator%20temperature%20chart%20%285&start=0&rows=1000&filter=fileType%3afile&lang=ENGLISH
这次失败了..。
org.apache.cxf.interceptor.Fault: com.jaeksoft.searchlib.SearchLibException: com.jaeksoft.searchlib.query.ParseException: org.apache.lucene.queryParser.ParseException:无法解析‘内容:(冰箱温度图(5)或内容:(“冰箱温度图(5)”)或
因此,在打开括号之前添加一个转义字符%5C来修复这个查询,如下所示.
http://10.192.16.160:8080/services/rest/select/search/<indexname/json?login=<login>&key=<apikey>template=search&query=Refrigerator%20temperature%20chart%20%5C%285&start=0&rows=1000&filter=fileType%3afile&lang=ENGLISH
有人能告诉我一些文档吗?这些文档列出了在作为搜索字符串的一部分输入时需要转义的Open查询中可以使用的所有特殊字符?
发布于 2014-09-05 01:15:46
是的,您是对的,您所链接的页面中“转义特殊字符”部分中列出的字符也需要在OpenSearchServer中转义。
我们最近发布了一个补丁,允许在Search (field)
类型的查询中转义使用pattern
模式配置的Searched fields
中的字符。
以前,字符转义仅在Search (pattern)
类型的查询中可用。(以下是这两种查询的更多信息:http://www.opensearchserver.com/documentation/tutorials/functionalities.html#two-kinds-of-queries)
致以敬意,
亚历山大
发布于 2014-09-03 00:08:40
我相信开放搜索服务器是基于Lucene的。Lucene引擎的查询语法在这里描述..。
Lucene支持转义作为查询语法一部分的特殊字符。当前列表中的特殊字符是
https://stackoverflow.com/questions/25635262
复制相似问题