0

それに関連付けられているコミュニティに関連する id と共に、solr でデータをインデックス化しています。

たとえば、これらは特定のクエリを検索したときに取得するブログですが、コミュニティ ID に基づいてさらにフィルター処理したい:-

Blog1- Community id :1
Blog2- Community id :2
Blog3- Community id :1
Blog4- Community id :3

コミュニティ ID 1 と 2 のブログを取得したい

私はこのパターンに沿って多くの反復を試みました

$query->createFilterQuery('community')->setQuery('community:'.$community[1].' OR'.'community:'.$community[0]);

ここで community[1]=1 および community[0]=2

このことを行うための特定の形式を知っている人はいますか。私はsolrと対話するためにソラリウムを使用しています。

IDの1と3も一緒に探している可能性があるため、範囲は機能しません

4

1 に答える 1

0

IDが1または3のレコードを見つけるためにクエリを作成する必要がある場合、クエリは次のようになります

q= : &fq=community_id:(1 3)&fl=blogs,community_id

& デフォルトのフィルターは OR であるため、クエリでは言及しませんでした。

私はソラリウムを認識していませんが、次のように試すことができます:

$query->createFilterQuery('community')->setQuery('community:('.$community[1].''.$community[0].')');

これが機能することを願っています。再びソラリウムについては知りませんが、上記のsolrクエリから推測できます。

于 2016-11-05T18:48:54.937 に答える