3

我正在尝试使用 Solr 执行以下查询:

time:90000 OR (-time:[1521 TO *] AND -(time:[* TO 1519] OR time:[1521 TO *]))

它只返回一个带有 tag 的结果time=90000,但我有两个time带有 value900001520. 我想要他们两个。

谁能给我一些解释?提前致谢。

4

2 回答 2

1

我找到了解决方案:当我执行否定查询时,我必须写:

*:* -<query>

对于我的问题,解决方案是:

time:90000 OR (time:* -time:[1521 TO *] AND (time:* -(time:[* TO 1519] OR time:[1521 TO *])))

于 2012-11-27T08:38:02.477 回答
0

我认为这是因为仅在顶层允许否定查询。请参阅http://wiki.apache.org/solr/SolrQuerySyntax

Pure negative queries (all clauses prohibited) are allowed.

尝试将这些负面查询移出并在此处发布您的发现

于 2012-11-06T13:08:16.273 回答