1. 程式人生 > >solr查詢如何支援多個fq 多條件查詢

solr查詢如何支援多個fq 多條件查詢

多個fq的url為: 

Java程式碼  收藏程式碼
  1. q=*:*&fq=a:[1 TO *]&fq=b:[2 TO *]  

即a大於等於1並且b大於等於2 

如果使用 
Java程式碼  收藏程式碼
  1. ModifiableSolrParams params = new ModifiableSolrParams();  
  2. params.set("fq""a:[1 TO *]");  
  3. params.set("fq""b:[2 TO *]");  

那麼a的條件會被覆蓋,只有b的條件才生效。 

正確的做法為: 
Java程式碼  收藏程式碼
  1. ModifiableSolrParams params = new
     ModifiableSolrParams();  
  2. SolrQuery filterQuery = new SolrQuery();  
  3. filterQuery.addFilterQuery("a:[1 TO *]");  
  4. filterQuery.addFilterQuery("b:[2 TO *]");  
  5. params.add(filterQuery);