Solr Block Join Parent Query Parser范围查询搜索错误

时间:2016-07-25 15:57:42

标签: solr

我正在使用Solr 6.1.0,我正在将父子数据索引到Solr。

当我进行查询时,我使用Block Join Parent Query Parser,只返回父记录,而不返回任何子记录,即使子记录中可能存在匹配。

但是,我无法对子记录执行范围查询。例如,如果我使用此查询进行搜索 q = + title:join + {!parent which =“content_type:parentDocument”} range_f:[2 to 8]

我会收到以下错误:

{ 
  "responseHeader":{
    "zkConnected":true,
    "status":400,
    "QTime":3},
  "error":{
    "metadata":[
      "error-class","org.apache.solr.common.SolrException",
      "root-error-class","org.apache.solr.parser.ParseException"],
    "msg":"org.apache.solr.search.SyntaxError: Cannot parse 'range_f:[2': Encountered \"<EOF>\" at line 1, column 18.\r\nWas expecting one of:\r\n    \"TO\" ...\r\n    <RANGE_QUOTED> ...\r\n    <RANGE_GOOP> ...\r\n    ",
    "code":400}}

这可能是什么问题?

的问候,
埃德

2 个答案:

答案 0 :(得分:0)

尝试:

q = + title:join + _query:&#34; {!parent which = \&#34; content_type:parentDocument \&#34;} range_f:[2 to 8]&#34;

答案 1 :(得分:0)

您不能在联接查询之前有任何空格,这样就可以了

{!parent which="content_type:parentDocument"}range_f:[2 TO 8]

解决此问题的一种方法是将范围查询移至fq参数而不是q参数。