如何在solr中查询包含solr保留关键字的字段为“:”
例如,
q = 'uri:http://www.example.com'
引发包含保留字“:”的“http://www.example.com”错误
答案 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
。根据索引字段的类型,您可以查询确切的值(如果是纯字符串)或令牌(如果它有分析器)。