はてなキーワード: 全文検索とは
あっしもそんなに詳しいわけでは無いが、いくらなんでもはてなの検索システムが一般的な全文検索から大きく外れた思想で作られているとは思えない。
まずもって検索システムつうのはどういうものかというと、通常のRDBの通常の検索の話だと、表の特定の列のデータに対象のデータがあったらその行を返すっつうものだ。
COL1 | COL2 | COL3 |
春麗 | 隆 | 回し蹴り |
サガット | 隆 | タイガーアッパーカット |
ベガ | キャミィ | グヘヘ |
キャプテン沢田 | キャミィ | 澤田スペシャル'95 |
これでCOL2に索引をつけた場合、検索条件に「隆」を入れたら行1と行2が返るつうのな。
全文検索だとちょっと面倒でこのCOL1とかCOL2に入るデータが「アストラギウス銀河を真っぷたつに分けた、バララントとギルガメスの二つの星系が砲火を交えて、100年。」とかになるわけなのよね。
となると検索する人は「アストラギウス銀河」とか「バララント」とかで検索するわけで、それを想定して分割した「トークン」つう単位の単語的なもので分割して索引を作るわけ。
そのトークン分割のやり方がいろいろあってそれで索引の出来方がかわって検索の使い勝手が変わってくる訳なんだけど、日本語の場合、まず「てにおは」とかの「ストップワード」で分割して、それぞれのトークンをそれぞれ分割する・・・みたいなのは一般的なのね。
上の文章だと「アストラギウス銀河」 「真っぷたつ」「分けた」みたいに分割して、更に「アス」「アスト」「アストラ」「スト」「ストラ」・・・みたいな。
もちろん索引のサイズがバカみたいになって全部スキャンした方がはやいやんけみたいになったら馬鹿馬鹿しいのでどのくらいのトークンを作るかはさじ加減なんだが、普通の仕組みなら「回し蹴り」はトークンとして入るので元記事の指摘はちょっと違うと思うのだ。
はてブで自分のブコメを検索しても、検索結果でヒットしないことがある。明らかなエラーだ。どうしてこういうことが起こるのか? また、どうすれば解決できるのか?
調べたところ、次のことがわかった。
「全文検索で単語を項目化するときに、辞書の数が少なすぎるので、連結した形の単語は項目化されない」
たとえば、「回し蹴り」という言葉を検索しても、ヒットしない。なぜなら、はてブの検索辞書には「回し蹴り」という単語がないからだ。検索辞書に単語がないせいで、検索してもヒットしないのだ。
「回し」と「蹴り」とに分離して検索するために、「回し蹴り」のかわりに、間に空白を入れた「回し 蹴り」という2語で検索する。
こういうふうにして検索すると「回し」と「蹴り」の双方が含まれたブコメがヒットするので、「回し蹴り」という単語もヒットする。
つまり、「回し蹴り」という単語を検索したいときには、「回し蹴り」ではなく「回し 蹴り」(間に空白を入れる)で検索すればいいのだ。こうすれば、うまくヒットする。
――――――――――――――――――
なお、以上のすべてのかわりに、「はてブでなく、Google で検索する」という手もある。
たとえば、あなたの ID が「 hatenataro 」であるとしたら、「 hatenataro 回し蹴り」で Google 検索する。そうすれば、該当のブコメが Google で見つかる。
ただしこの方法は、自分の ID が珍しい名称であることが必要だ。ありふれた名称を ID にしている場合には、この方法は使えない。
――――――――――――――――――
《 追記 》
「検索でヒットしなかった場合には、空白を入れてから再検索をする」
というのは、本来なら、自動処理で行うべきだ。ユーザーが手動で処理するのでなく、ソフト自身がシステム内部で自動処理するべきだ。
こんなことができていないというのは、はてなの技術力の低さのせい。相当、レベルが低いね。
――――――――――――――――――
新たに別の事例を見つけた。「懐中電灯」もヒットしなかったが、「懐中 電灯」(空白入り)ならばヒットした。これも理由は同じだろう。
なお、不思議なことに、「懐中電灯」をコピペすると、インクリメンタル検索でヒットするのだが、コピペしたあとで Enter キーを打鍵すると、通常の検索モードになって、今度は「懐中電灯」ではヒットしなくなる。
目で見て達成感があったし、また読みたいと思ったときにはファイルを見返していた。
あと、自分は読んだ論文一覧をbibtex形式でテキストファイルにまとめていた気がする。論文書くときはそれをincludeして参照すると参考文献欄には引用したものしか出てこないんじゃなかったっけ。
当時から自分が読んだ論文とそのまとめをブログにさらしている人は普通にいたけれど、後で見返すのにはいいかもしれない。
それが恥ずかしいなら、テキストファイルに論文ごとのメモを書いておいて全文検索できるようにインデックスを設定するとか、自分しか見られないように権限を設定してクラウドに保存しておくなりがあるかもしれない。
ぶっちゃけ指導教官に出していた週報に読んだ論文のまとめを書いていたので、実質に自分がやっていたのはテキストファイルにまとめを書く方法なんだけどさ。
以前にもこの機能のヤバい遅さは言及されていたのだが、時系列検索をしたくなったときに改めて気になった。
そもそも、全文検索ではないのだ。全文検索は難しい。探索木が素人には無限に見える程に広がる。試験的なサービスで RDBMS に LIKE 検索をさせているサービスもあった。だから、てっきりそういうインデックスが効かず(前方一致なら効く)メモリを大量に消費する処理だから遅いんだと思っていた。
でも、増田の検索ってキーワード検索なんですよね…。はてなキーワードは三十数万件らしいので、 LIKE でも全然即答できる。
これもしかして、 {マッチしたはてなキーワード} (120) とかの (120) 部分、つまり該当キーワードに言及する日記から count するために遅いのでは。いやあったら良いこともあるけれど、検索が機能することよりも大事ではないよね。ついでにいうと count としても遅いので、 NULL 値を考慮しないならカラム名を指定せず選択された行の数を返す count(*) が早いよ。
あー、チューニングさせてくれ…。無理だとしても、増田の検索は負荷で遅くなっているのではないと表明してくれ。検索するたびに寿命が縮む。いや、 AnonymousDiary の寿命が縮む思いだ。
エアプというのは「エアープレイ」の略で、まるでやっているかのようでやっていない「エアギター」から着想を得た「プレイしてもないことについて語る」奴を指して…
いたかのように思えたが現在はちょっとしたミスを指摘するぐらいでも気軽に使われるようになってしまった煽り言葉である
また動画サイトで実況プレイが流行り始めた事により「プレイしていなくてもプレイしたかのように語れる」人が増えたことを嘆いた人がエアプを用いたものと思われる
ゲーム実況となるとやはりニコニコ動画は外せない ニコニコ動画のサービス開始は2006年
そしてこういう煽り言葉の出現はだいたい2chだろうと予想する
https://mao.5ch.net/test/read.cgi/f1/1253108217/l50
が初出と思われるが未だ生きているスレなのでエアプの言葉自体は2019に書かれたものである 残念
そうなると
【DQ10】したらば君のドラクエデビューについて議論するスレ【エアプ】 [転載禁止]©2ch.net
https://wktk.5ch.net/test/read.cgi/ff/1420020496
が2chでの最古のエアプ初出となる
また
最近「エアプ」って煽り方流行ってんの? [転載禁止]©2ch.net
https://wktk.5ch.net/test/read.cgi/ghard/1443314966/
2015年にたったスレが肌感として流行り出したのが2015年なのだろうと言うことは予測できる
https://twitter.com/search?q=%E3%82%A8%E3%82%A2%E3%83%97%20until%3A2013-01-01&src=typed_query&f=live
驚くべきことに2012年にはすでにエアプという言葉は出ている模様
だが見てみると「エアープレイ」の文脈で使われていないツイートをみかける
これは単純に期間指定するだけであるがエアプは本来別の意味があったことがわかる
https://twitter.com/search?q=%E3%82%A8%E3%82%A2%E3%83%97%20until%3A2011-01-01&src=typed_query&f=live
さて定着しだした頃合いだが
https://twitter.com/search?q=%E3%82%A8%E3%82%A2%E3%83%97%20until%3A2013-08-14&src=typed_query&f=live
最古と思われるスレが立てられた日付で検索するとすでにこの頃には定着していた事がわかる
多分だが2chと睨んだ自分の勘は正しくなくゲーム文化なのでしたらば発祥かもしれない
Twitterで「エアープレイ」の意味で最古を調べるとどうやらこのツイートが該当するもよう
https://twitter.com/semiaki/status/108401354137022464
https://twitter.com/search?q=%E3%82%A8%E3%82%A2%E3%83%97%20until%3A2011-08-31&src=typed_query&f=live
ざっと調べた感じ戦国無双の大谷刑部へのバッシングを嘆いた感じだろうか
(7月にari_aopなるイベントが終了しているっぽいのでそれで見つけやすかっただけかもなので暇人はこれが最古か検証していただけるとありがたい)
そこからじわりじわりとしたらば→Twitter→2chへ波及した形なのだろうと予想できる
大凡2013年を堺に言葉として定着していると見てよさそうである
この頃のツイート(https://twitter.com/search?q=%E3%82%A8%E3%82%A2%E3%83%97%20until%3A2013-08-14&src=typed_query&f=live)を見る限りPSO2や艦これという人気無料ゲームに関するツイートが多いように思える
確かに全コンテンツへのアクセスに時間がかかるゲームであるがゆえにしったかぶってしまうのはわからなくもない
とりあえずここまで
調べ方の粗などあれば指摘していただけるとありがたい
次回は「エアプという言葉が未プレイじゃなくてちょっとしたミスの指摘の煽り言葉になっている」について調べていこうと思うが
まぁ全コンテンツへのアクセスに時間がかかるゲームに対してのエアプ発言が多い事からだいたい察しはついている
自分もPSO2はしていたので職に応じたしてほしい行動をしていないものに対してエアプといってるチームメンバーは沢山いた
下手したら浸透しだした頃からすでにそうだったのかもしれない
導入したって誰もやらないよ。年寄りと旧型しかいないんだから。
決裁文書と一緒に添付データをシステム内へ保管しておける(=自分のストレージを圧迫しないで済むし引き継ぎが楽になる)とか、過去の決裁文書すべてから全文検索できるとか、誰もメリットへ目を向けない。
紙という実物がなくなることを、今までのやり方が変わって流れ作業ができなくなることを、ただひたすら恐れている。
その印刷した紙だって元はデータだったんだよ?いちいち倉庫へ探しに行って厚く重いファイルを最初から全部めくっていくのもしんどいでしょうに。
そりゃ、お客さんから出してもらった押印済み書類とか、印がある証明書類とか、原本が最重要でデータ化できない類のものは仕方ないけどさ。
直接idを出すと規約違反になるのでここでは挙げないが、特定の某ジャンルで主義主張も言い回しも全く同じようなはてブidが2つ存在する
見る限り使い分けている意味がさっぱり分からないが面白いので、興味本位で通報してやろうと思った
調べた結果、サブidでブクマすること自体は問題ないが、同じページを両者でブクマするのはBAN対象らしい
つまり「両方のidでブクマしているページ」さえ見つかれば、規約違反でつつけるというわけだ
そういえば以前、とある特定作者の増田にはなぜかいつもすぐに非公開のブクマが3つつき、毎度のように注目エントリに上がっていたものだが、なるほどあれは3idで自演ブクマでもしていたのだろうか
しかしあからさまな複垢のくせして活動歴は無駄に長く、3~4桁もあるブクマをいちいち見比べるのもめんどくさいので、全くの未経験だがプログラミングでも始めるべきかと思い立った
【概要】
【流れ】
凍れ
【将来的な機能追加】
言語はどうするのか、挫折せずに学べるのか、クローリングとスクレイピングは何が違うのか、そもそもAPIとは何なのか、といった諸々の問題はあるが、せっかくなので形になるようにしっかり勉強していきたい
……と思ったら、つい最近のページで全く同じようなコメをしていやがったので、こいつのためにプログラミングを覚える必要など全くなかったのだった
即通報
沢山のものがあって多様性にあふれていてニッチな需要を満たせる。
素晴らしい時代だ。
豊かだ。
あともう少しコレがこうだったら最高だったのにと妄想したその『最高』にだって出会えてしまう時代だ。
だけど物を増やすのは一度辞めて、別の所に力を入れてほしい。
それは、大量にあるサービスや作品の中で自分が一番欲しいものを見つけられるシステムだ。
どのジャンルにおいてもそれが欠落している。
たとえばライトノベルのタイトルが際限なく長くなっているのも、タイトルを見くらべていたんじゃいつまで経っても自分がほしい作品なのかそうじゃないのかハッキリしないからだ。
本屋の店員に聞いた所で、彼らだってすべての作品を読んでないから不可能だ。
全ての業界でそうだ。
クローリングして欲しい範囲はエロコンテンツだけなのに、ちょっとエッチなだけの日常写真ばかりじゃねーかと思う日もあれば、その逆の日もある。
これは検索エンジンの検索エンジンを作ろうという話でもあるが、それ以上に、もっとたくさん検索エンジンを作るべきだし、もっといい検索エンジンを多くのジャンルが備えるべきだって話だ。
たとえば書籍の全文検索機能がここ最近話題になってきたが、あれだって単に中身を大雑把にまとめて検索するというだけでそこからの絞り込みはまだまだ弱い。
断っておくが、私はほとんど毎日パソコンを使うし、比較的新しい物好きだ。
新製品・新機能はすぐにチェックするし、メモなど積極的にアナログからデジタルに変更している。
読書はもっぱらKindleで、すでに300冊を超えて所蔵している。
私は仕事で新しい知見や見落としていた知識などの整理のためにノートをつけている。
それをpdfに変換し、Dropboxにぶち込んで必要な時は全文検索で取り出せるようにしている。
間違いなく便利だ。ちょっとキーワードを入れただけでそれに関連する文献やメモが大量に出てくる。
あるとき自分の記憶している知識が極端に少なくなっていることに気づいた。
全ての知識は肌身離さないiPhoneからすぐ取り出せるのに、である。
その原因はデジタルの表示できる情報量の少なさに起因するのではないかと思うようになった。
アナログメモの時は暇な時にパラパラめくって、ああ、こんな知識あったなぁと思い出す事があって、
知らず知らずのうちに知識の復習をしていた。
デジタルに移行してからというもの、自分から検索しようとしないと、
デジタル化した本に関しても同じだ。
読んだ内容が全然頭に残らない。
アナログの本だと、パラパラめくって、時にまた読んでしまうことがあったが、
デジタルはそれがない。
同じ大きさの文庫本は二つに開いて、上手くやれば4ページ近く一度に見ることができる。
そう考えると表示できる情報量は同サイズのタブレットの倍以上だ。
さらにデジタルでは自分でその本が読みたいと決断し、探さなければいけない。
賛成!!全文検索できるようになってほしいです。
https://www.hatena.ne.jp/register
「ソーシャルブックマークサービス」というやつです。
みんなで色んなURLを共有したら便利じゃね?というものです。
要するに「Yahoo!知恵袋」や「教えて!goo」と同じQ&Aサービスです。
大昔に人気だったサービスです。
ちなみに、はてなアンテナの強化版サービスが「大チェッカー」です。
簡単に言えば、
みんながそれぞれ「自分が興味のあるウェブページの一覧」を作れば、
自動的に「みんなが興味のあるウェブページの一覧」も出来るんじゃね?
それって集合知じゃね?
という感じです。
ブックマークを追加するページにいきましょう。
上のメニューバーの「追加・アプリ」というリンクです(スマホ版なら左メニューの「ブックマークを追加」)。
場合によっては、記事に「はてブボタン」が付いていることもあるので、
それをクリックすれば「エントリーページ」と呼ばれる画面に行くことができます。
http://b.hatena.ne.jp/entry/s/www3.nhk.or.jp/news/html/20180906/k10011611431000.html
エントリーページです。
そのページの情報と、そのページをブクマするための追加ボタンと、みんなのブクマコメントが並んでいます。
タグ機能こそがはてなブックマークの最重要機能と言っても過言ではないです。
コメント欄にはページに関する補足情報などを入れておくと良いでしょう。
ちなみに、「b.hatena.ne.jp/entry/」という文字列を覚えておけば(IMEのユーザー辞書に登録するとか)、
ブクマしたいURLの先頭にそれを付けることで、いつでもエントリーページを表示させることができます。
上のメニューバーの「ブックマーク」というリンクです(スマホ版なら左メニューの「マイブックマーク」)。
たとえば「増田」「はてブ」「解説」などとタグを付けておけば、
「あのはてブの使い方を説明していた記事、確か増田で見たんだけど何だったかな〜」
検索欄にキーワードを入力してサジェストっぽく表示されるのは、
普段はこれだけで十分です。
検索ワードを入力した状態でエンターを押せば全文検索になりますが、いまいち性能が悪いです。
ドメイン部分をクリックすれば同じサイトの過去のブクマが見られます。
「http://b.hatena.ne.jp/my/20180906」というURLで日別のブクマも見られます。
見るべきページは三つあります。
いわゆるホッテントリです。
http://b.hatena.ne.jp/hotentry/all
単純なusers順のランキングではなく、一日くらいでぐるぐると入れ替わっていきます。
ホッテントリに並んでいるのは要するに「万人向け」の記事なので、ここばっかり見てるだけではつまらないです。
ちなみに「過去の人気エントリー」リンクからどんどん過去へ遡ることもできます。
http://b.hatena.ne.jp/entrylist/all
3users以上の記事が「最初にブックマークされた時間順」で並んでいます。
ホッテントリよりも流れが速くてバリエーションも豊富ですが、そのぶん好みに合わない記事も多いです。
自分のブックマーク→左メニューの「お気に入り」というリンクです。
http://b.hatena.ne.jp/my/favorite
このページでは「お気に入り」に入れた人のブックマークを見ることができます。
長くブクマをやっていれば、「自分と同じ記事をよくブクマしてるな」とか
「こいついつも1getしてるな」みたいな人が、何人か思い浮かぶと思います。
(最近はコメントしか見られないので、無言で1getしてる職人を見逃してしまうのが残念ですが)
そういう人をお気に入りに入れておけば、自分好みの記事をいちはやく見つけることができるというわけです。
ホッテントリに飽きたら新着エントリ、新着エントリに飽きたらお気に入り、という感じで、
「タグ」「タイトル」「本文」から検索できて、ブックマーク数や検索期間も指定できます。
たとえば「5年前のはてな匿名ダイアリーの100users以上の記事」なんかを検索することができるわけです。
みんなが真面目にタグを入力していたら、「増田」でタグ検索するだけで十分なはずなのですが、
残念ながらタグを入力しない人が多いので、「増田」タグのついてない100users以上の記事があるかもしれません。
そうなると本文検索とかも併用しなきゃいけなくなるので、みなさん、タグは入力しましょう。
また、URLで検索するとドメイン単位での「新着エントリ」「人気エントリ」を見られます。
エントリーページの上のほうにあるドメイン部分をクリックしても見られます。
はてな匿名ダイアリーならこうですね。
b.hatena.ne.jp/entrylist?url=https%3A%2F%2Fanond.hatelabo.jp%2F
こちらの「人気エントリ」は、ホッテントリとは違って単純なusers順なので、
いわば「そのウェブサイトの歴代人気記事ランキング」になっています。
どちらの検索結果もRSSを吐いているので、RSSリーダーを今でも使っている人なら、
好きなキーワードの検索結果のフィードを登録してみてもいいかもしれません。
(標準でそれに近いことをやってるのが「関心ワード」ですね)
ただし筆者ははてブアプリを利用していないので使い勝手は知りません。