1

solr でファセットを使用しようとしています。データベースで検索を行いたいのですが、特定の日付と特定の発行者に属する記事を取得する必要があります。

ブラウザでこの 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

そしてそれはうまくいきます。PHP コードの apache_solr_service クラスで (search()) 関数を使用しています。そして、私は以下のように配列を設定します:

array('facet'=>'true','fq'=>"datecreated:".$date,'fq'=>"publisher_name:\"".$publisher.'"')

fqインデックスのために期待される結果が得られないことはわかっています.fqの値をpublisher_nameに上書きします

しかし、このクエリを 2 つのファセット クエリで設定するにはどうすればよいですか

4

3 に答える 3

1

次のように書くこともできます。

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

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

于 2011-08-13T20:24:10.923 に答える
1

これが役立つかもしれません: http://code.google.com/p/solr-php-client/wiki/FAQ#How_Can_I_Use_Additional_Parameters_%28like_fq,_facet,_etc%29

コードは次のようになります (構文エラーがないか確認してください。私の PHP は錆びています)。 array('facet'=>'true','fq'=>array('datecreated:'.$date,'publisher_name:"'.$publisher.'"')

于 2011-07-26T17:57:39.150 に答える
0

AND演算子を使用します。

array('fq'=> 'datecreated:'.$date.' AND publisher_name:"'.$publisher.'"');
于 2011-07-26T15:12:37.093 に答える