twitterの日本語検索の罠
こんにちは。kaminalyです。
今日は、ツイッターの検索でハマった件についてメモメモ。
ハッシュタグ+日本語のワードで検索した結果を使いたいんだけど、
以外とうまくいかなかったのです。
ハマりポイントは、
「ツイッタの検索エンジンは日本語のインデックスに癖がある」
「ツイッタの検索窓と、apiでは挙動が違う」
の2点です。
まず、1つ目の癖についてですが、
「一」と「?」と「、」が含まれるワードはうまくヒットしませんでした。
漢数字や数字、記号、句読点は疑った方がよさそうです。
自分が使ったワードの範囲内でしか検証していないので、他にも色々ありそうです。
回避方法は、
漢数字の前後に半角スペースを入れる。
?の前後にも半角スペースを入れる。
句読点(、)はスペースに置き換える。※前後に半角スペース方式は使えなかった。
なら、「ワードを半角スペースでブツ切りにすればいいんじゃね?」と思いますが、
試しに一文字づつ全ブツ切りすると、「そんなにたくさん渡されても無理」とツイッタに言われます。(短いワードであれば通ると思います。)
まぁ、そうだよね。
2つ目ですが、
初めはapiをたたくphpを書き換えながら、try and error を繰り返していたんですが、
途中から面倒になって、どうせ仕様は同じだろうと、
twitterの検索窓にハッシュタグとワードを打ち込んで試しはじめたんです。
で、「一」で引っかかっている事を突き止めたんですが、
「?」と「、」はそのままでヒットしたんです。
「一」の前後に半角スペースを入れる処理を入れて、さて完成だ。
とサーバにアップしてプレビューしてみると、
?
あれ?
動かない?
r’丁´ ̄ ̄ ̄ ̄`7¬‐,-、 /
r’| | | |/ >、 /
! | | | |レ’´/| | 待 て
| | | /\ | |l /⊂う |
| | |__∠∠ヽ_\ | リ / j ヽ あ わ て る な
|´ ̄ O  ̄ ̄ ̄ ̄ ̄`! 〉
l'”´ ̄ ̄ヾ'”´ ̄ ̄`ヾ::幵ー{ / こ れ は 孔 明 の 罠 だ
⊥,,,,,_、 ___,,,,,ヾ| l::::::| |
lヾ´ f}`7 ヘ´fj ̄フ | l::i’⌒i | そ ん な 事 は 無 理 だ
l ,.ゝ‐イ `‐=ニ、i | l´ ( } ヽ
l { U | l 、_ノ ∠ヘ
l / ̄ ”ヽ、 | l ヽ_ \,_________
! ハ´ ̄ ̄ ̄`ト、 |亅〃/\
,人 f ´ ̄ ̄ ̄``ヾ j ,!// {_っ )、
// `ト、__iiiii______,レ’‐’// _,/ /スァ-、
,.イl{ { 々 !/´しllllト、 ̄`ヽ、 // /´,.-、 /彑ゝ-{スァ-、
,.イ彑l l > ゞ く l 〃 l|ハ.lヽ、 ハVゝヽ二ノ/ゝ-{、彑ゝ-{、彑ァ-、
,.イ彑ゝ-‘l l ( (,) レシ′ !l `ソァ’´ _ノ7{、彑ゝ-{、彑ゝ-{、彑{
ュゝ-{、彑l l ` -イヘ !l // /⌒ヽヾ/_ゝ-{、彑ゝ-{、彑ゝ-{、
{、彑ゝ-‘l l f⌒Yハ ’, !l/ / ヽ_う ノ /-{、彑ゝ-{、彑ゝ-{、彑ゝ
彑ゝ-{、彑l l{ に!小 ヽ /!l / ,/ /彑ゝ-{、彑ゝ-{、彑ゝ-{、
どうやら、ツイッターの検索窓とapiでは仕様が違うらしい。
search.twitter.comはapiと同じ挙動っぽい(未確認(汗))ので
そちらで調査して、「?」と「、」の罠を発見したとさ。
他の罠も発見してtwitter日本語検索クラスとか書くのも良いかなとかおもいつつ、
日本語強化されて、無意味になるのも時間の問題な気もするのでどうしたものか。。