NavicSearch API β版 仕様
NavicSearchを用いた検索を行なうAPIです.
2010/02/24の変更点
2008/12の変更点
α版からの変更点
- 1週間に1回程度情報を更新します.
- 検索結果を在庫などの情報により変化させる実験を行なう場合があるので, 商品データが同じでも検索結果が異なる場合があります.
- 内部的にSolrのDistributedSearchを利用するようになりました. DistributedSearch使用時には, PHPSerializedResponseWriter(wt=phps指定時のWriter)が正常に動作しませんので, Writerを差し替えています. ただし, 十分な検証を行なっていませんので利用は推奨致しません.
- パラメータ「fl」の値に「*」を含めることを許可しました. 「*」が含まれている場合, 「fl」の値がすべての取得可能なフィールドに置き換えられます.
注意事項
- このAPIは2010年2月現在β版です.
- このAPIは現在開発中のECナビの商品検索機能のプレビュー版です.商品データは実際のものですが, プレビュー版であるため,ECナビで検索した検索結果と異なる結果を返す場合があります.
- 予告して, ないし予告せずにサービスを一時停止することがあります. NavicSearch API 障害・運用情報で報告致します.
- その他の注意事項については NavicSearch API 注意事項をご覧下さい.
NavicSearch API 利用例
単純な検索
日本語はUTF-8でURLエンコーディングしてください.
- 「wii」で検索(http://api.ecnavi.jp/shopping/navic_search/select?q=wii 以下略)
- 「自転車」で検索
- 「自転車 折りたたみ」で検索. (デフォルトではスペースで区切られた単語はANDで連結されます. 変更したい場合は パラメータ q.op を指定してください)
- JSON
- JSONP
- Ruby
- Python
- 「デンドロビウム」で検索し catname でファセット
リクエストURI
http://api.ecnavi.jp/shopping/navic_search/selectリクエストメソッド
GETないしPOST
文字エンコーディング
UTF-8
リクエストパラメータ
リクエストパラメータはSolrのもののサブセットです. Solr Wiki - Search and Indexingもご参照ください.
q以外のパラメータは任意です.
一部のパラメータは, Solrに送られる前に書き換えられます. echoParams=explicit を指定することで, Solrに送られたパラメータを閲覧できます.
重要なパラメータ
名前 説明 q 検索クエリ(必須). フィールドを指定しない場合は, item_all フィールドに対して検索が行なわれます. SolrQuerySyntax - Solr Wiki もご参照ください. なお, 大文字小文字は区別されません. いわゆる全角半角の文字も区別されません. rows 検索結果の件数. 0以上100以下の値を指定できます. -1 (全件)は指定できません. start 検索結果の開始位置. sort ソート順を指定します. デフォルトでは, 商品の人気順でソートします. また同じ人気順のものについては全文検索のスコア(score)でソートされます. 商品の人気順のフィール名は非公開です. fl 出力するフィールドを指定します. デフォルトでは「フィールド」で上げているもののうちitem_all を除くすべてを出力します. 「*」を指定した場合も同様です. fq 検索結果をフィルタします. fqに記述されたクエリは検索のスコアには影響しません. wt 出力形式. xml(デフォルト), json(p), ruby, python, phps が指定できます. phpsの利用は推奨しません. json.wrf jsonpのコールバック関数名. 対応リクエストパラメータ一覧
- wt
- sort
- start
- rows
- fq
- fl
- q
- q.op
- facet
- facet.field
- facet.query
- facet.prefix
- facet.sort
- facet.limit
- facet.offset
- facet.mincount
- hl
- hl.fl
- hl.snippets
- hl.fragsize
- hl.mergeContiguous
- hl.requireFieldMatch
- hl.maxAnalyzedChars
- hl.simple.pre
- hl.simple.post
- hl.usePhraseHighlighter
- json.nl
- json.wrf
- version
- indent
レスポンス
リクエストパラメータwtで指定された形式に従います.
エラーが発生した場合には, HTTPのエラー「400 Bad Request」「500 Internal Server Error」「403 Forbidden」を返すことがあります.
フィールド
名前 説明 item_id 商品に振られた一意なid. item_name 商品名. この項目は検索対象とせずに item_all を利用してください. ただし, ハイライト機能の利用時にはitem_allではなくこのフィールドを利用してください.この項目は検索の対象ではなくなりました.price_min 商品の最低価格 number_of_shop 取り扱い店数 1_branch, 2_branch, ... 9_branch カテゴリのブランチのid. 1が一番浅い階層です. 現在は4階層までしか利用していません. cat_id カテゴリid. 1_branch, 2_branch, ... 9_branchのうち, 値のあるなかで一番深い階層のid. 1_catname, 2_catname, ... 9_catname カテゴリのブランチ名 catname 1_catname, 2_catname, ... 9_catname をスペース区切りで連結したもの. (末尾のスペースは除去). この項目は検索対象とせずに item_all を利用してください. ファセットに利用できます. img 商品イメージのURL. このフィールドを用いた検索はできません. mall_list 商品を取り扱っているモール(yahoo, rakuten, amazon, bidders, livedoor)のスペース区切りリスト item_url ECナビの商品紹介ページのURL. このフィールドを用いた検索はできません. item_all catnameとitem_nameの情報を含む検索用フィールド. 値は返しません.
