Lucene查询字段范围或缺少字段

时间:2012-03-05 14:43:31

标签: solr lucene

对Lucene不熟悉我想找到某个字段在给定范围内或完全不存在的文档。那就是我想结合这两个查询的结果:

q=something AND field:[lower TO upper]
q=something AND -field:[* TO *]

任何一个查询都会给我想要的结果,但是当我尝试将两者结合起来时,我什么也得不到:

q=something AND (field:[lower TO upper] OR -field:[* TO *])

something可以是更复杂的查询。实际上,我的查询将是Java程序中的Solr查询,以防它产生影响。怎么办呢?

1 个答案:

答案 0 :(得分:0)

这也应该有效:

q=( (+something -field:[* TO *]) OR (+something +field:[lower TO upper]) )