2012-08-10 52 views
2

在Solr(3.6)中,我可以对每个字段使用fq,但对于包含内部Colon [:]Slash [/]的字段,则不能使用,例如正常url字段。SOLR Filter Query(fq)不适用于包含冒号[:]或斜杠[/]的字符串?

让我们假设一些记录会看起来像:

{ 
    "title":"Innovation Life and Strategy", 
    "url":"http://www.example.com/innovation_life_strategy", 
}, 
{ 
    "title":"Simple Life", 
    "url":"http://www.example.com/simple_life", 
}, 
.. 

我可以简单地使用fq针对不包含Colon [:]Slash [/]像 “标题” 在这里简单的领域:

fq=title:(Strategy) 

是的,它返回第一条记录。
但随后,它返回不是为url字段,其​​具有冒号[:]或斜线[/]内:

fq=url:(life) 

不,它永远不会返回任何记录的。

  • 我不知道为什么,但我认为这是因为Colon [:]Slash [/]内明显。

我该怎么办?

+0

什么分析对这两个领域进行了什么。看来你正在对标题进行文本分析,因此作为令牌的匹配将被创建。对于url作为单个字符串,除非您有分析来创建令牌过滤器查询不起作用。在这种情况下,你也许会更好地搜索然后过滤。当你想过滤一个类别的结果并且最好对其进行最少的分析时,过滤将会生效。 – Jayendra 2012-08-10 07:03:05

回答