複数指定可項目における AND 絞り込みまたは OR 検索指定について
検索クエリのうち、複数指定可項目における AND 絞り込みまたは OR 検索指定の仕方についてご説明します。
目次
概要
APIリファレンスの検索クエリの仕様表にて、説明文中に「特殊記法で OR 検索も可*」や「特殊記法で AND 検索も可*」という記述がある項目に限り、値を複数指定した際の検索ロジックを
- AND 絞り込み
- kodaw = 1 かつ 2 かつ 3
- OR 検索
- kodaw = 1 または 2 または 3
の2種類から任意の方法を選択する事が出来ます。
指定方法
対応している検索クエリ項目ならば、値を複数個羅列する中の1つに、特殊なキーワード 'and' または 'or' を加える事により有効になります。以下、例として
- 検索クエリ項目 area に対して...
- 値 EUR, AAS, HWI の3つの値を...
- OR 検索させる
場合の実際の GET パラメータを以下に示します:
area=EUR,AAS,HWI,or
逆に AND 絞り込みを指定する場合は以下になります:
area=EUR,AAS,HWI,and
指定が無い場合のデフォルト検索方式
デフォルトが AND 絞り込みなのか OR 検索なのかは、各 API / 各検索クエリ項目ごとに異なります。API リファレンスの記述をご確認ください。
出現位置はどこでも構いません
キーワード 'and' または 'or' の出現位置は特に何の影響もありません。同検索クエリ項目の中で1回でも出現するだけで有効になり、同クエリ項目の値すべてを指定された方法で検索します。
指定できる値の最大個数
kodaw=1,2,3,4,5,6,7,... という用に、複数の値を同項目に対して指定出来ますが、AND 絞り込みと OR 検索それぞれで指定可能な値の最大個数に以下の制限があります:
- OR 検索
- 最大 10 個まで指定可能。10 個を超えた場合はエラーレスポンスが返ります。
- AND 絞り込み
- こちらに最大個数の制限はありません。絞り込みですので条件値が多ければ多い程、ヒット件数は減少します。
記述サンプル
以下にそれぞれの GET パラメータ記述サンプルを示します。これらの記述はすべて有効です。
- 検索クエリ項目 kodaw に対して...
- 値 1, 2, 3 の3つの値を...
- AND 絞り込みさせる
kodaw=1,2,3,and
kodaw=1,2,3,AND
kodaw=1,2,and,3
kodaw=1,2,3&kodaw=and
kodaw=1,2&kodaw=3,and
kodaw=1&kodaw=2&kodaw=3&kodaw=and
OR 検索も 'and' を 'or' に差し替えた上で上記すべてのパターンが有効です。