[+] expand all Getting started Vespa Overview Features Getting Started Vespa CLI Getting Started with Ranking Tutorials Vespa API and Interfaces Frequently Asked Questions - FAQ Glossary Schemas and documents Documents Schemas Parent/Child Annotations API Concrete document types Reading and writing Reads and Writes /document/v1 Visiting Vespa Feed Client Indexing Document API Partial Updates Query
最近、「Introduction to Information Retrieval」というStanfordの大学院向け教科書のドラフトを読んでいます。id:naoyaあたりが勉強会で読んでいる教科書です。この教科書には、効率のいい全文検索システムを作るにはどうすればいいか、という(まさに)教科書的手法が網羅的に書いてあり、そのあたりに興味がある人には、非常に興味深く読めるお勧めの本です。 ただ、面白い面白いと言っているだけでは、エンジニアとしては価値半減ですので、GW中にrubyで一日かけて実装してみました。 さすがに実装は、一日で作ったものですから、非常に素朴です。マルチバイト文字はbi-gramで、シングルバイトはスペースなどの区切り記号で認識しています。インデックスは、rubyの処理系のHashやArrayで保持しており、外部にMarshallで書き出す、というものです。検索エンジン
JavaScriptでインデックス型の全文検索エンジンを作ってみた。全文検索エンジンを作る際に問題となるのは、インデックスデータを部分的に読み込む方法である。通常はmmapやpreadなどを使ってファイルの一部を部分的に読み込むのだが、もちろん、ブラウザには使えない。ブラウザでファイルの一部分を読み込むには2通りの方法がある。1つは、ファイルを多数のファイルに分割する方法であり、もう1つはHTTPリクエストのRangeヘッダを利用して、ファイルの一部を取得する方法である。前者の利点は、ブラウザのキャッシュが効くことや、対応ブラウザが多いことである。後者の利点は、ファイル数が少なくなるので、インデックスの管理が容易になることである。今回はRangeヘッダの実用性にも興味があったので、後者の方法を用いた。 参考ページ:最速インターフェース研究会 :: Ajaxを使ったシンプルなチャット 転置イ
http://rails2u.com/esearch/ http://rails2u.com/esearch/estseek.fcgi?phrase=Reloaded&perpage=10 (サンプル) 自分が作ったウェブアプリの中じゃ、一番利用していると言っても過言ではない http://api.rails2u.com/ 。Rails のクラスやメソッドのインクリメンタル検索は便利ですが、やはり全文検索もしたくなることがあります。 というわけで高速検索が可能で利用方法もお手軽な Hyper Estraier を設置してみました。驚くほど簡単に Rails API のインデックスは作成が終わり、設置も FastCGI 版を lighttpd で動かしてみましたがすんなりと。 というわけで html などの全文検索をやってみたい人は Hyper Estraier を使ってみるといいかもしれま
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く