在solr查询中搜索文字哈希字符

时间:2016-04-27 21:18:22

标签: solr

我在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>

1 个答案:

答案 0 :(得分:1)

因为solr会使用类solr.StandardTokenizer对查询进行标记,所以#character将从查询中删除。您可以更改字段类型定义的标记生成器。 对于字段id_number,请将过滤器类从solr.StandardTokenizer更改为solr.WhiteSpaceTokenizer

但是这个方法会接受查询中的所有其他特殊字符(。:等)