2012-03-22 17 views
1

RubyとSinatraでwikiを作成していて、いくつかのHTMLレンダラー(redcarpet、markdown、creole、slim、ハムル..)。 データベースに構造化データを扱い、フリーテキストのファイルを検索するのではなく、Rubyのようなフェレット、ソル、ルーネのような宝石にはたくさんのオプションがあります。ruby​​とsinatraでのテキストファイルの索引付けと検索

今のところ私はテキストファイルを開き、regExpで検索しますが、すぐに遅くなるwikiの成長に伴い、マップ内のすべてのテキストファイルにインデックスを付ける宝石がありますか?そのインデックスを使ってファイルを検索できますか?それは、Rubyから簡単に使用できるRubyのみのソリューションでなければなりません。

私は必要な機能がないので、共通のwikiを使用していません。

私はいくつかの古いASPアプリケーションでWindowsのインデックスサービスを使用しますが、私はその解決策に満足できません。

マイOS'esは、Windows Vista、7およびWindows Server 8

EDITです:/不要データベースのインストールなしそのようなbesedのsqliteまたはファイルストレージか何かで例えばので、実行しているサーバーソリューションであることが好ましい保ちます

+0

どのような種類のものを検索したいですか? – Jwosty

+0

ちょうどグーグルのような文字列が、多くの機能を必要としない、速度とシンプルさがより重要です – peter

+0

ああ、大丈夫です。私は私が考えることができるものを見ます。 – Jwosty

答えて

2

個人的に私はElasticSearchを選ぶだろう:http://www.elasticsearch.org/

それが実行して取得することは非常に簡単です、とのためのいくつかの宝石があるが

私は」(例えばタイヤ用)ルビーからそれと通信することが本当に簡単になりますパフォーマンスの高いテキストファイルベースのフルサーチエンジンは認識していないので、ElasticSearchがimhoを提供するシンプルなサーバーを探すのがよいと思っています。

+0

は面白くて簡単にインストールできますが、多くのオプションがありますが、うまく機能しません。テストしています – peter

2

SphinxActiveRecordの間のルビーブリッジを参照してください。ThinkingSphinxこの宝石を使用すると、簡単にモデルのインデックスを作成し、アプリケーションのすべてのモデルで簡単な検索と全文検索を実行できます。プロジェクトの
ホームページとドキュメント:
http://freelancing-god.github.com/ts/en/
それを使用する方法のちょっといいイントロ:
http://www.synbioz.com/blog/2012/05/18/full_text_search_with_sphinx
私はActiveRecordで作業する場合Sinatraとの統合がシームレスであろうと信じています。

+0

私はMySqlが必要です(または他のいくつか)が、インストールとサーバの実行が必要であることを確認します。インストール不要/サーバー不要のソリューション(例:sqliteまたはファイルベースのストレージ) – peter

1

私は、Rails 2.3 - 3.2でSQLとMongoの両方のデータベースでSolrを使用しています。 this railscastを見てください。 Solrは、Microsoft文書、テキストファイル、リッチテキスト文書 を索引付けすることができ、画像上でOCRを行うこともできる、Apacheによって開発された全文検索Javaクライアントです。

+0

簡単な実行可能な例レールを使用せずに(私はsinatraを使用します)、データベースが必要な場合は、sqliteを使用しますか? – peter

+0

@peter Sunspot(http://sunspot.github.com/)は、ルビクラス(アクティブレコードモデルなど)と互換性があります。 sunspot githubのページとその例をお読みください。彼らはレールとノンレールの両方のユースケースでそれを行います。必要に応じてsqliteを使用できます。彼らのwikiページには、開発と運用環境の設定にも良い例があります。 –

+0

ファイルを索引付けして多くの依存関係なしで検索する簡単な例は見つかりません。 – peter

関連する問題