Solr查询语法问题
我正在尝试使用Solr执行以下查询:Solr查询语法问题,solr,Solr,我正在尝试使用Solr执行以下查询: time:90000 OR (-time:[1521 TO *] AND -(time:[* TO 1519] OR time:[1521 TO *])) 它只返回一个带有标记time=90000的结果,但我有两个带有标记time的项目,其值分别为90000和1520。我两个都想要 谁能给我解释一下吗?提前谢谢。我想这是因为负面查询只允许在顶层进行。看 尝试将这些负面查询移出并将您的发现发布在此处我找到了解决方案:当我执行负面查询时,我必须写: *:*-
time:90000 OR (-time:[1521 TO *] AND -(time:[* TO 1519] OR time:[1521 TO *]))
它只返回一个带有标记time=90000
的结果,但我有两个带有标记time
的项目,其值分别为90000
和1520
。我两个都想要
谁能给我解释一下吗?提前谢谢。我想这是因为负面查询只允许在顶层进行。看
尝试将这些负面查询移出并将您的发现发布在此处我找到了解决方案:当我执行负面查询时,我必须写:
*:*-
对于我的问题,解决方案是:
时间:90000或(时间:*-时间:[1521至*]和(时间:*-(时间:[*至1519]或时间:[1521至*]))
如果我尝试执行:
-(时间:[1521至*]或(时间:[1521至1519]或时间:[1521至*])
则结果为时间=1520的项目如果我尝试以下操作:时间:90000或-(时间:[1521至*]或(时间:[1521至1519]或时间:[1521至*])
我没有结果…您是否也可以尝试时间:90000或(-(时间:[1521至])或(时间:[至1519]或时间:[1521至*):)。请在您的查询中替换为*还包括debugQuery=ON。请参见我找到的解决方案:当我执行否定查询时,我必须写:*:*-
对于我的问题,解决方案是:时间:90000或(时间:-[1521至*]和(时间:-(时间:[*至1519]或时间:[1521至*))
Pure negative queries (all clauses prohibited) are allowed.