タグ

全文検索に関するtenten0213のブックマーク (7)

  • 国産の全文検索エンジンGroonga vs 世界的流行のElasticsearch - CreateField Blog

    2014年4月21日は、第4回Elasticsearch勉強会ですね! http://elasticsearch.doorkeeper.jp/events/8865 第4回Elasticsearch勉強会は、参加希望者が約200名の大反響なようです。 私は勉強会に参加できないので、C言語で書かれた国産の高速な全文検索エンジンGroongaと、Javaで書かれた世界的に勢いのあるElasticsearchについて性能の比較をしたいと思います。 注意事項 今回の検証では1台あたりの馬力を比較するためにサーバ1台での全文検索性能について比較しています。 私は、Groonga(Mroonga)の利用暦が約2年であるのに対し、Elasticsearchの利用暦は2日です。このため、Elasticsearchに対するチューニングの不備や公平な比較になっていない点が含まれている可能性があります。 Ela

    国産の全文検索エンジンGroonga vs 世界的流行のElasticsearch - CreateField Blog
  • Elasticsearch 日本語で全文検索 その3

    その1、その2で説明してきた内容をふまえ、日語全文検索向けのアナライザーを考えてみました。 日語全文検索のためのアナライザー次の設定サンプルは、基的な日語検索の為の ja アナライザーと、ja アナライザーにプラスして同義語検索を実現する為の ja_synonym アナライザー、Nグラム検索用の ja_ngram アナライザーを定義しています。 実際に使用する際には、これらの3つのアナライザーをフィールド毎に使い分けて使用することで、いろいろなシーンで活用できるはずです。 # 設定サンプル # edit: $ES_HOME/config/elasticsearch.yml index: analysis: filter: synonym: type: synonym synonyms_path: analysis/synonym.txt stopword: type: stop s

    Elasticsearch 日本語で全文検索 その3
  • Elasticsearch 日本語で全文検索 その1

    語は、分かち書きしない言語のため日語でちゃんと全文検索できるようにする為には、検索対象のコンテンツの内容、利用するユーザーのスキルなどを考慮しなければ検索精度を向上させることは非常に困難です。逆を言えば、検索対象のコンテンツ、利用するユーザーのスキルが変われば設計が変わってくると言えます。 日語を検索できるようにトークナイズするには、代表的なものに形態素解析とN-グラムがあります。簡単に説明すると形態素解析を検索で使用すると、単語単位で検索するため、適合率が高く(マッチ度が高いものが検索される)、再現率が低くなります(検索漏れが多くなる)。例えば、キーワード ”京都” では、”東京都” はヒットしません。一方、N-グラムを検索で使用すると、データベースのLike検索に近い検索が可能になり、形態素解析とは逆に、再現率が高くなり、適合率が低くなります。 これらの日語解析の特徴と、検索

    Elasticsearch 日本語で全文検索 その1
  • Elasticsearchとkuromojiでちゃんとした日本語全文検索をやるメモ | GMOメディア エンジニアブログ

    技術推進室の浅井です。Elasticsearchで日語全文検索をちゃんとやるための説明、日語でちゃんと書かれているものが無くて少々困ったので、ちゃんと書いてみます。 Elasticsearchのインストール※ 2013/12/17 13:30 インストールするJDKのバージョンを7u45から7u25に変更 ※ 2013/12/17 12:50 JDKのバージョンについての説明を追記 @johtani さん指摘ありがとうございます この記事内の説明でOracle JDK 7u45をインストールしていましたが、Apache Luceneが7u45を推奨していないため、7u25をインストールしたほうが良いようです。(後ほど記事内の説明も修正します 修正しました) http://lucene.472066.n3.nabble.com/What-is-recommended-version-of

  • 全文検索システムの比較 - Elasticsearch vs Solr vs Amazon CloudSearch

    全文検索システムの比較 - Elasticsearch vs Solr vs Amazon CloudSearch February 10, 2014 at 01:05 AM | categories: solr, aws, elasticsearch, web | 候補の選定方法 候補を選定するにあたって、以下の特徴をもっていることを前提とした。 LuceneやGroongaを使えば何でもできるが、ここでは対象としない。 ウェブベースのインターフェースを持つ インデックスの更新はほぼリアルタイムに反映される スケールアウトが容易 Solr https://lucene.apache.org/solr/ Luceneをバックエンドにした全文検索システム。バージョン4になってから大幅に機能が増強された。 長所 実績が十分ある 機能豊富 短所 クラスタを構築して運用するには手間がかかりそう S

    全文検索システムの比較 - Elasticsearch vs Solr vs Amazon CloudSearch
  • WhooshとMongoDBを使った全文検索Webアプリの構築 - その1

    ひょんなことから全文検索システムを作ることになり、いろいろ調べたことを備忘録的に記録しておく。 自分はいつもPython+Tornado+Nginx+MongoDBの構成でWebアプリを書いていて、この環境で手軽に全文検索ができたらいいなぁと思って試行錯誤した結果、稿のようなことができることが分かったので公開しました。 【やりたいこと】 ・全文検索(基的にN-gram。できれば記事内の単語を元に関連記事の表示や単語の編集など) ・主に.txtのファイル内のテキスト文を対象とする ・アカウントを発行して外部にも公開 (ここは記事の趣旨から外れるので除外する。) 【環境】 ・さくらVPS 2Core 1GBメモリ ・CentOS 6.2 ・Python 2.7.2 ・Tornado 2.4.1(フレームワーク) ・MongoDB 2.2.3(データベース) ・Nginx 1.2.6(W

  • pythonのwhooshで全文検索してみる - Blanktar

    全文検索、一度やってみたかったのよね。 whooshってのが手っ取り早そう。 という訳で、使ってみました。 Copy import os import whoosh.fields import whoosh.index import whoosh.qparser # ディレクトリをインデックスとして使うらしい。 # インデックスがすでにあるかどうかをチェック。 if os.path.exists('/tmp/index') # 既存のインデックスを開く ix = whoosh.index.open_dir('/tmp/index') else: # インデックスの構造を定義 schema = whoosh.fields.Schema( # IDはユニーク・・・ってわけでもないらしい。 # とりあえず、インデックス化はされないとのこと。 name=whoosh.fields.ID(store

    pythonのwhooshで全文検索してみる - Blanktar
  • 1