q=*:*&fq=a:[1 TO *]&fq=b:[2 TO *]
即a大于等于1并且b大于等于2
如果使用
ModifiableSolrParams params = new ModifiableSolrParams(); params.set("fq", "a:[1 TO *]"); params.set("fq", "b:[2 TO *]");
那么a的条件会被覆盖,只有b的条件才生效。
正确的做法为:
ModifiableSolrParams params = new ModifiableSolrParams(); SolrQuery filterQuery = new SolrQuery(); filterQuery.addFilterQuery("a:[1 TO *]"); filterQuery.addFilterQuery("b:[2 TO *]"); params.add(filterQuery);