我在solr网站上找不到任何文档,指出如何搜索包含文字哈希字符的字符串。
示例:
?q=id_number:723#52
我已经尝试转义散列723\#52
和HTML编码,723%2352
,但是solr输出显示每次切断散列符号:
<response>
<lst name="responseHeader">
<int name="status">400</int>
<int name="QTime">2</int>
<lst name="params">
<str name="q">id_number:723</str>
</lst>
</lst>
答案 0 :(得分:1)
因为solr会使用类solr.StandardTokenizer对查询进行标记,所以#character将从查询中删除。您可以更改字段类型定义的标记生成器。
对于字段id_number,请将过滤器类从solr.StandardTokenizer
更改为solr.WhiteSpaceTokenizer
但是这个方法会接受查询中的所有其他特殊字符(。:等)