LoginSignup
1
1

More than 5 years have passed since last update.

facet.queryをつかったファセットの操作

Posted at

検索クエリとは別にfacet.queryを使って、ファセットの絞込ができるのを最近しった。

実はsolr5.3からついてたみたい。

excludeTagによる除外

q=動物
fq={!tag=cat}category:ネコ科
facet=true
facet.field={!ex=cat}category

fqにタグをつけてfacetのところにexで参照させると、facetカウントから除外することができる。
これをするとクエリ動物での検索結果とそのうちネコ科のステータスを抜いた(exclude)ものがfacetのカウントになる。

ファセットを更に絞り込んだ値にする。

q=動物
facet.query={!tag=q1}category:ネコ科
facet=true
facet.field={!query=q1}category

今度は動物の検索結果で、ファセットにはネコ科のものだけがカウントされるようになる。
facet.queryに指定してそれにtagをつけて、それをfacet.fieldのパラメーターの中にlocalparamの要領
で使って行くらしい。ちなみに、pivotとかにもくっつける事ができる。

パフォーマンスはあまりよくないので、いろいろデータを見ているときに利用する感じかな。
スキーマと表示データが固まった状態なら、検索にヒットさせるように加工しておいたほうが本番環境は良さそう。

ファセットを見ていて、特定の属性以外のものだけみたい!とか、データをパッと見るのは便利そう。
覚えておこう。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1