Marginalia:3年間の記録
(marginalia.nu)- Marginalia Searchは「素敵なインターネット」を見つけるための小さな実験から始まり、3年でフルタイムのプロジェクトになった。検索エンジンも、これまでで最も安定した状態に近づいている
- 今年の中心的な作業は、運用負担を下げ、ほかの運用者や開発者が扱いやすくするためのコードベースの整理とアプリケーションの簡素化だった
- 以前はインデックス切り替えに数日間の停止が必要だったが、現在は切り替え時の停止がなくなり、最近では無停止アップグレードも可能になった
- 検索品質はアンカーテキストキーワードのサポート以降に改善し、関連性シグナルが定着したことで、結果を見つける能力が大きく向上した
- 10億件のドキュメントをインデックスする目標は継続中だが、Webの信号対雑音比が低く予想以上に難しい。次の焦点はクエリ解析と実行の改善
実験からフルタイムプロジェクトへ変わった3年
- Marginalia Searchは3年前に小さな実験として始まり、現在はフルタイムで取り組むプロジェクトになった
- 検索エンジンにはまだ改善点が残っているが、現時点ではこれまでの状態の中で最もよく動作する水準だと評価されている
- 最大のマイルストーンの1つは、検索エンジンがリビングルームを離れ、エンタープライズサーバーへ移行したこと
- 今年は運用負担を管理可能な水準まで下げ、ほかの運用者や開発者がアクセスしやすいようにコードベースとアプリケーションを整理することに注力した
- 運用方法も大きく変わった
- 以前はインデックス切り替え時に数日間のサービス停止が必要だった
- 現在はインデックス切り替えによる停止はなくなった
- 最近では無停止アップグレードも可能になった
- かつて数週間かかる手動プロセスだった作業の多くが、GUIでボタンを押す方式に変わった
検索品質とインデックス拡大
- 検索の関連性には、アンカーテキストキーワードのサポートが大きな影響を与えた
- 変更直後は統合が十分でなく、効果はすぐには明確でなかった
- 新しい関連性シグナルが定着した後、検索エンジンが関連結果を見つける能力は大きく向上した
- プロジェクトはNLnetの支援により、約8か月前からフルタイムの取り組みになった
- 働きすぎないことが引き続き難しい課題になっている
- 少なくとも週1日は休むことを試みており、よく休めたときのほうがより賢く働けると考えている
- 10億件のインデックス済みドキュメントという目標は継続中
- 難しさはソフトウェアの処理能力よりも、Webの信号対雑音比が良くない点にある
- 検索エンジンが比較的うまく動作している大きな理由の1つは、何をインデックスしないかにある
- インデックス規模は1年前の5,000万〜1億件から、前回のクロール時点で2億2,000万件に増えた
- 次のクロールラウンドが終わると、すでに完了した2つのパーティションの成長率を基に、2億9,000万〜3億件になる可能性がある
1件のコメント
Hacker Newsのコメント
これをブックマークしておいて、数値モデリングの超ニッチな資料を探すのに使っている。
ソルバー、メッシュ生成、最適化手法に関して見つけてくれる資料は、Googleで見つかるものよりずっと良く、80〜90年代の資料もよく出てくる。
既製の商用パッケージだけを使う立場ではないので、こうした知識やFortranのコード例を見つけられるのは非常に価値がある。
その通り。これは昔の検索に本当によく似ている。
“all quiet on the western front book movie differences”のような検索で見つからないとしても、1998年のAltaVistaでもそのような探し方では見つからなかった。
代わりに“all quiet on the western front”だけを入力すると個人ブログのような珍しいサイトがたくさん出てきて、“polytopes”と入力すると大学の論文やコードのサイトが出てきて、“rust generics”でもメーリングリストの議論、ブログ、Rustの議論グループ、個人Webサイト、専門的な議論が出てくる。
これこそが昔のWeb検索であり、気になるのは長期的にこれをどう財政的に持続させるかだ。
実際の運営費はコロケーションが月100ドル程度で、あとは個人の生活費だけなので、入ってくるお金は思ったより長くもつ。
今後さらに磨き込めば、同じような考えを持つ人たちから追加資金が得られたり、他の検索エンジンにAPIアクセスを売る形も可能かもしれない。
検索は広告以外で収益化しにくいことで有名だが、コストが低ければかなり合理的な道になり得るように見える。
“transformers intuition”を検索してみたが、結果は本当に印象的だった。
GoogleはSEOされたサイト、主にMediumや、見た目だけは立派で中身はいまひとつのサイトへつながったが、Marginaliaはずっと良かった。
リリースから6か月の時点で、すでにうまく機能しつつ同時に曖昧だった面も示している回顧的なスレッド: https://news.ycombinator.com/item?id=28550764
ただ、今のデフォルトフィルターにはReddit、Stack Exchange、Wikipediaの結果が少し多すぎるように思う。
いちばん響いたのはこの部分だった。
予想以上に難しいのはソフトウェアが耐えられないからではなく、Webの信号対雑音比が良くないからで、この検索エンジンが比較的うまく機能している大きな理由は、何をインデックスしないかにある。
MarginaliaはGoogleに慣れているので頻繁には使っていないが、プロジェクト自体は素晴らしい。
スパム的なSEOサイトやAI生成の回答がますます増えているようなので、今後はもっと頻繁に使うことになりそうだ。
楽観的には、この夏ごろにクエリと実行に関する作業を終えれば、その水準に近づけるかもしれない。
Viktorに聞きたいのだが、Common Crawl [0]が役に立つかもしれないか分からない。
現在は約100TB、33.5億ページ規模なので、S3上で直接処理しない限りダウンロードに時間がかかるだろうし、信号対雑音比はよく分からない。
[0] https://commoncrawl.org/overview
素晴らしい検索エンジンだ。
近いうちにソースも見てみるつもりだが、“ROME2D16-2T”を検索したら、難解な出典から関連する結果が出てきて有用だった。
最近のGoogle検索を3つ試してみた。
“india test cricket lowest total”は良い結果や答えがなく、“raid calculator”は結果は悪くないが、raidという語のせいでPokemonのセーブ/チート編集ツールのページのようなノイズも混ざった。
“all quiet on the western front movie book differences”は結果が0件で、完全に空のページだった。
質問に答えるというより、インターネット上の文書を見つけるためのツールであり、回答機能は欲しくなるものではあるが、しばしば文書を見つける能力を犠牲にする。
Pokemonの結果は“raidcalc”というアプリケーションを扱ったもので、ユーザーをまったくプロファイリングせず関心事も知らない検索エンジンの立場からすると、かなり良い一致に見える。
“all quiet on the western front movie book differences”はクエリ長の上限に引っかかったようだが、これは以前、長いクエリをうまく処理できなかった時代の古い名残なので、取り除けると思う。
制限を引き上げてみたが、それでも結果はあまり良くなく、これは次の作業であるクエリ理解と実行の領域にまさに入る。
現在の検索エンジンは、人間が見るように
all quiet on the western frontは1つのフレーズとして扱い、タイトルに含まれていたり複数回登場したりすると良く、movie、book、differencesは文書中で重要だが必ずしも正確な順序で出る必要はない、というようにまとめて理解することができない。現状では、すべての単語が近くに出現する文書や、個々の単語が高いtf-idf関連度を持つ文書を探す方式なので、このクエリには適していない。
興味深い。誰かが単なる遊びでC&C Tiberian SunにIPv6対応を入れようとしてバイナリパッチした、任意のWebサイト [0] を見つけた。
懐かしい昔のWebの雰囲気が強く残っている。
不思議なことにFraviaのSearchlores [1]を思い出したが、Umberto Ecoがコンピューターに興味を持っていたらこんな感じだったのではないかと思う。
サイト自体も『薔薇の名前』の図書館迷路のように、どこかの角を曲がるたびに驚くようなものを見つけ、その後は永遠に見失ってしまうような感じだった :D
[0] http://ts.sesse.net/
[1] https://www.biostatisticien.eu/www.searchlores.org/indexo.ht...