使用转义solr保留关键字进行Solr搜索

时间:2009-02-21 07:46:45

标签: python solr pysolr

如何在solr中查询包含solr保留关键字的字段为“:”

例如,

q = 'uri:http://www.example.com'

引发包含保留字“:”的“http://www.example.com”错误

2 个答案:

答案 0 :(得分:5)

我刚测试了这个,似乎只是逃避“:”就像“:”那样诀窍:

q = 'uri:http\://www.example.com'

对于我自己网站的索引,我倾向于只存储URL的路径,因为我自己知道域名,所以这对我来说不是问题。但是,如果您索引外部URL,那么您当然需要完整的URL。

答案 1 :(得分:1)

在索引编制期间转义/替换Lucene保留字符,并将原始值存储在单独的字段中(架构中为stored="true" indexed="false")。如果用空格替换保留字符,则会在索引字段中显示http www.example.com并在存储中显示http://www.example.com。根据索引字段的类型,您可以查询确切的值(如果是纯字符串)或令牌(如果它有分析器)。