WordPressトラブル「docxがダウロード出来ずZIPになる」「プレビュー出来ない」 イラストレータの個々のレイヤーをPDFに書き出し
6月 25

某データベースサイトにて、サイト内検索を行う場合、

  1. 自スクリプトにて全文検索
  2. マッチしない場合、Yahoo!Web検索APIで検索
  3. それでもマッチしない場合は「一致するものがない」メッセージを表示

Yahoo!Web検索APIでは、RESTリクエストに、siteパラメータを設定し、サイト内検索をしていたのだが、どうもおかしい。サイト内に存在するキーワードだった場合は正しく動作するが、サイト内に存在しないキーワードの場合、勝手に外部サイトを対象とする結果を引っ張ってきている模様。(通常のサイトとかwikipediaとか)

RESTクエリのサンプル

http://search.yahooapis.jp/WebSearchService/V1/webSearch?appid=アプリケーションID&query=%e6%b2%96%e7%b8%84&site=example.com


siteパラメータの使い方が悪いのかと、ドキュメントをしばらく読み込んでみたが分からず。

しょうがないので、REST内のsiteパラメータを利用するのではなく、クエリ文字列中に、”キーワード+site:example.com”と、キーワードの一部としてAPIを実行。こうすることで、サイト内でマッチしない場合でも、勝手に外部から結果を持ってこず、指定キーワードはサイト内には存在しない、という処理を実行できた。

しかし、Yahooのサイト内検索ではマッチしないものでも、Googleだとマッチするというのが悔しいところ。Googleの場合、結構な精度で読み仮名も自動的に検索してくれるので、とても便利なのだが…。


Popularity: 2% [?]

written by ANN

add to hatena hatena.comment (0) add to del.icio.us (0) add to livedoor.clip (0) add to Yahoo!Bookmark (0) Total: 0

Leave a Reply