mlczhg 发表于 2016-12-15 06:52:24

solr排除查询

  在我们使用solr进行查询,我们想在查询之前添加过滤条件,如我们在搜索时,想将某些结果排除掉,我们可以使用操作符 “-”进行排除查询,如:我们想查询电话本中的号码,但想排除135开头的号码,那么我们可以在135前加上 “- ”,但是“-”不能与查询项单独使用,否则会报错,如 phone:-13532244,这样在solr的客户端的fq中查询直接报错,可以在-135前添加* (*和空格)否则无法得到想要的结果
  查询所有电话号码

  查询1870218..的电话号码
  

  排除1870218..开头的电话号码
  

  如果条件这样会报错(- 不能单独与项进行操作)
  

 
  
 上面查询得到了结果,但是实际使用是 -field(查询的字段) : value(查询的值)
  fieldQuery.addFilter("-field:value");
 
  
 
页: [1]
查看完整版本: solr排除查询