概要

カテゴリや価格等で絞り込みを行い目的のアイテムを探しやすくする

主な利用箇所

Image without caption

前提知識

絞り込みを行う場合、アイテム情報に絞り込み情報を保持させる必要があります。 上記では、「第1カテゴリ」「第2カテゴリ」「第3カテゴリ」という項目を持ちドリルダウン構造となっています。
💡
ドリルダウン 最初に大枠のカテゴリを指定し、徐々に細かいカテゴリを指定していく絞込み方法

ファセットカウント

ワイン(3)の(3)部分の名称 この絞り込みをすることでアイテムが何件ヒットするというのが押下前に知ることができます。

別カテゴリと同一カテゴリを絞り込みに指定した場合の動き

別項目の第1カテゴリ(ctg1)と第2カテゴリ(ctg2)を指定した場合、AND検索となります。
javascript
ctg1 AND ctg2
同一項目を指定した場合、OR検索となる
javascript
ctg1 OR ctg1

実装方法(カテゴリ)

リクエストパラメータ:検索情報取得API

パラメータ
用途
opt_項目名[]
絞り込み対象のユーザ指定フィールドの値を記述

第1カテゴリ指定

第1カテゴリに飲料を保持しているアイテムがヒット
javascript
https://xxx/xx.xml?q=&opt_ctg1[]=飲料

レスポンス

タグ
内容
facet_field > option
ファセット(左メニューの絞り込み)にて利用 <option>のvalueが絞り込み値、countはファセットカウント
javascript
<response> <query> <q/> ~省略~ </opt_ctg1> </query> <result> <total>18</total> <items> ~省略~ </items> <facet_fields> <facet_field field="ctg1"> <option value="食品" count="27"/> <option value="飲料" count="18"/> <option value="日用品" count="9"/> </facet_field> <facet_field field="ctg2"> <option value="お酒" count="12"/> <option value="コーヒー・紅茶" count="6"/> </facet_field> <facet_field field="ctg3"> <option value="コーヒー" count="3"/> <option value="紅茶" count="3"/> <option value="ワイン" count="3"/> <option value="ウイスキー" count="1"/> <option value="日本酒" count="1"/> </facet_field> </facet_fields> ~省略~ </result> <status>0</status> </response>

第1・2カテゴリ指定

第1カテゴリに飲料 AND 第2カテゴリにお酒 を保持しているアイテムがヒット
javascript
https://xxx/xx.xml?q=&opt_ctg1[]=飲料&opt_ctg2[]=お酒

レスポンス

javascript
<response> <query> <q/> ~省略~ </opt_ctg1> </query> <result> <total>12</total> <items> ~省略~ </items> <facet_fields> <facet_field field="ctg1"> <option value="飲料" count="12"/> </facet_field> <facet_field field="ctg2"> <option value="お酒" count="12"/> <option value="コーヒー・紅茶" count="6"/> </facet_field> <facet_field field="ctg3"> <option value="ワイン" count="3"/> <option value="ウイスキー" count="1"/> <option value="日本酒" count="1"/> </facet_field> </facet_fields> ~省略~ </result> <status>0</status> </response>

第1・2・3カテゴリ指定

第1カテゴリに飲料 AND 第2カテゴリにお酒 AND 第3カテゴリにワイン を保持しているアイテムがヒット
javascript
https://xxx/xx.xml?q=opt_ctg1[]=飲料&opt_ctg2[]=お酒&opt_ctg3[]=ワイン

レスポンス

javascript
<response> <query> <q/> ~省略~ </opt_ctg1> </query> <result> <total>3</total> <items> ~省略~ </items> <facet_fields> <facet_field field="ctg1"> <option value="飲料" count="3"/> </facet_field> <facet_field field="ctg2"> <option value="お酒" count="3"/> </facet_field> <facet_field field="ctg3"> <option value="ワイン" count="3"/> <option value="ウイスキー" count="1"/> <option value="日本酒" count="1"/> </facet_field> </facet_fields> ~省略~ </result> <status>0</status> </response>

第1・2・3カテゴリ+第3カテゴリ複数指定

第1カテゴリに飲料 AND 第2カテゴリにお酒 AND 第3カテゴリにワイン OR 日本酒 を保持しているアイテムがヒット
javascript
https://xxx/xx.xml?q=&opt_ctg1[]=飲料&opt_ctg2[]=お酒&opt_ctg3[]=ワイン&opt_ctg3[]=日本酒

レスポンス

javascript
<response> <query> <q/> ~省略~ </opt_ctg1> </query> <result> <total>3</total> <items> ~省略~ </items> <facet_fields> <facet_field field="ctg1"> <option value="飲料" count="4"/> </facet_field> <facet_field field="ctg2"> <option value="お酒" count="4"/> </facet_field> <facet_field field="ctg3"> <option value="ワイン" count="3"/> <option value="ウイスキー" count="1"/> <option value="日本酒" count="1"/> </facet_field> </facet_fields> ~省略~ </result> <status>0</status> </response>

実装方法(価格)

リクエストパラメータ:検索情報取得API

下限指定

javascript
https://xxx/xx.xml?q=opt_price=100~

上限指定

javascript
https://xxx/xx.xml?q=opt_price=~1000

下限〜上限指定

javascript
https://xxx/xx.xml?q=opt_price=100~1000