Widescaleは、Golangで書かれたフルテキストのインデックス作成および検索エンジンです。ワイドスケールは教育目的のみを目的としています。複数のドキュメントに広がる大量のテキスト内で、単語または単語のグループを検索するための簡単なAPIを提供します。内部的には、WidescaleはElasticSearchと同様に、倒立インデックスを使用しています。詳細については、この記事を参照してください。
提案があるかどうか教えてください。
Elasticsearchについて読んでいる間に、逆インデックスを見つけました。なぜそれを使用するのかを理解するために、ウィキペディアの記事からの抜粋があります -
少数のドキュメントを扱う場合、フルテキスト検索エンジンが各クエリ(「シリアルスキャン」と呼ばれる戦略でドキュメントの内容を直接スキャンすることができます。これは、Grepなどのいくつかのツールが検索時に行うことです。
ただし、検索するドキュメントの数が多い場合、または実行する検索クエリの量が大幅に多い場合、フルテキスト検索の問題は、インデックス作成と検索という2つのタスクに分かれていることがよくあります。インデックス段階は、すべてのドキュメントのテキストをスキャンし、検索用語のリスト(インデックスと呼ばれることが多い)を作成します。検索段階では、特定のクエリを実行する場合、元のドキュメントのテキストではなく、インデックスのみが参照されます。
私はそれよりも良い説明ができるとは本当に思っていませんでした。
go 。 > go get github.com/gorilla/mux
> go get github.com/anubhavp28/WideScale/
> go install github.com/anubhavp28/WideScale/
サーバーを起動するには、単純に実行します。
> cd $(go env GOPATH)/bin
> widescale <path-to-dir-containing-txt-files-to-index>
このプロジェクトは、MITライセンスに基づいてライセンスされています - 詳細については、license.mdファイルを参照してください。