PHP中的多个Solr过滤器查询


Multiple Solr filter queries in PHP

我想在solr中使用facet,我想在我的数据库上进行搜索,我需要获得属于特定日期和特定出版商的文章。

我在浏览器上使用了这个url:localhost:8888/solr//collection1/select/?q=:&version=2.2&start=0&rows=10&indent=on&facet=true&fq=publisher_name:"Saudi Press Agency (SPA)"&fq=datecreated:20110725

,它工作得很好。我使用(search())函数在apache_solr_service类在我的php代码。我设置数组如下:

<>之前阵列("方面"=>"真实","fq"=>"datecreated:"美元。目前为止,"fq"=>"publisher_name: '",出版商美元。")之前

我知道它不会给我预期的结果,因为fq索引,它会覆盖fq的值到publisher_name

,但我如何设置这个查询与两个方面查询

这可能有帮助:http://code.google.com/p/solr-php-client/wiki/FAQ How_Can_I_Use_Additional_Parameters_ % 28 like_fq _facet _etc % 29

这是代码应该看起来像(请检查语法错误,我的PHP是生锈的):array('facet'=>'true','fq'=>array('datecreated:'.$date,'publisher_name:"'.$publisher.'"')

你也可以这样写:

array('fq'=>'+datecreated:'.$date.' +publisher_name:"'.$publisher.'"')

http://wiki.apache.org/solr/CommonQueryParameters fq

使用AND运算符:

array('fq'=> 'datecreated:'.$date.' AND publisher_name:"'.$publisher.'"');