我正在尝试使用 Solr 执行以下查询:
time:90000 OR (-time:[1521 TO *] AND -(time:[* TO 1519] OR time:[1521 TO *]))
它只返回一个带有 tag 的结果time=90000
,但我有两个time
带有 value90000
和1520
. 我想要他们两个。
谁能给我一些解释?提前致谢。
我正在尝试使用 Solr 执行以下查询:
time:90000 OR (-time:[1521 TO *] AND -(time:[* TO 1519] OR time:[1521 TO *]))
它只返回一个带有 tag 的结果time=90000
,但我有两个time
带有 value90000
和1520
. 我想要他们两个。
谁能给我一些解释?提前致谢。
我找到了解决方案:当我执行否定查询时,我必须写:
*:* -<query>
对于我的问题,解决方案是:
time:90000 OR (time:* -time:[1521 TO *] AND (time:* -(time:[* TO 1519] OR time:[1521 TO *])))
我认为这是因为仅在顶层允许否定查询。请参阅http://wiki.apache.org/solr/SolrQuerySyntax
Pure negative queries (all clauses prohibited) are allowed.
尝试将这些负面查询移出并在此处发布您的发现