Koji SekiguchiRONDHUIT Co.,Ltd. - Founder & CEO at RONDHUIT Co.,Ltd.
日本語Wikipediaなどの「辞書型コーパス」からLucene/Solr用の類義語辞書を自動作成するシステムを開発しましたので、簡単にご紹介します。 参考資料(SlideShare) 辞書型コーパスからの類義語知識の自動獲得(SlideShare) Lucene/Solrと類義語検索 Lucene/SolrではSynonymFilterを使って類義語検索を簡単に実現することができます。たとえば次のような内容のsynonyms.txtを用意し: 自動車損害賠償責任保険, 自賠責保険 Solrのschema.xmlファイルに次のようなフィールド型を定義すれば: <fieldType name="text_ja" class="solr.TextField" positionIncrementGap="100"> <analyzer> <tokenizer class="solr.Japane
Search::Fulltext で N-gram 検索できるように Search::Fulltext::Tokenizer::Ngram を書いた 2014-01-01: CPAN にアップロードしたので追記。 要旨 Search::Fulltext という大変シンプルな全文検索モジュールがリリースされていたので、N-gram トークナイザを提供する Search::Fulltext::Tokenizer::Ngram を書きました。 Github MetaCPAN これを使うと日本語として怪しい表現でもとりあえずヒットするような全文検索ができます。 動機 大変シンプルなモジュールだったのでシンプルに使ってみようと思ったら現在のところ日本語のトークナイザは Search::Fulltext::Tokenizer::MeCab のみでした。Text::MeCab のインストールが億劫なのと
この記事は↓に移転しました。 laysakura.github.io
オープンソースの検索エンジンを開発する仏OpenSearchServerは11月27日、「OpenSearchServer 1.5」をリリースした。WindowsとLinux、UNIX、BSDに対応、プロジェクトのWebサイトよりダウンロードできる。 OpenSearchServerは大規模環境での利用をサポートする高性能な検索エンジン。メディア企業仏Infopro Communicationsが自社用の検索機能として開始した。現在開発者らは独立した企業として、開発とサポートを提供している。 Webユーザーインターフェイス、クローラー、Rest/Restful APIなどの機能を持ち、開発者は自分のアプリケーションに全文検索機能を統合できる。検索機能としては高機能な全文検索、スペル修正、自動入力補完、位置情報、フィルタなどがある。17の言語に対応し、自動で言語を認識するが、現時点では日本語
平林幹雄さんの Hyper Estraier を Cent OS に入れてみたりしたときの試行錯誤メモ。 OpenOffice.org の .odt, .ods, .odp なんかを検索対象にしたかったので、すこぶる簡易的なフィルタを作ってみました。 といっても、元々 zip 圧縮されている中の「content.xml」というファイルを取り出すだけで、 /usr/bin/unzip -caq "$infile" content.xml で XML を取り出して、あとは HTML として解釈させればそれなりにいけちゃいました。 作成したフィルタスクリプト → estfx_ooo2xml.sh ついでに MS Office 2007 の Office Open XML も .docx の場合 /usr/bin/unzip -caq "$infile" */document.xml .xlsx
概要 現在表示されているサイトは旧サイトです。新サイトは http://fess.codelibs.org/ja/ です。 Fess は「5 分で簡単に構築可能な全文検索サーバー」です。Java 実行環境があればどの OS でも実行可能です。Fess は Apache ライセンスで提供され、無料 (フリーソフト) でご利用いただけます。 Seasar2 ベースで構築され、検索エンジン部分には 2 億ドキュメントもインデックス可能と言われる Solr を利用しています。 ドキュメントクロールには S2Robot を利用することで、Web やファイルシステムに対するクロールが可能になり、MS Office 系のドキュメントや zip などの圧縮ファイルも検索対象とすることができます。 特徴 5 分で簡単に構築可能な全文検索サーバー Apache ライセンスで提供 (フリーソフト) OS 非依存
この記事は古くなりました。新しい知見は下記を参照。aoking.hatenablog.jp 概要 全文検索エンジン Solr を使用していて、パフォーマンスチューニングに四苦八苦した話。 ここでは、検索時ではなくドキュメントの追加時についてのチューニングについて記してある。 更新自体は参照に比べて頻度が少ないが、参照はレプリケーションして負荷分散しやすい。 更新は整合性を保つために一台のマスターノードに対して行われるので更新はボトルネックになりやすいのだ。 定期的に IO 負荷が高くなる Solr を使っていると、一時的に猛烈に IO 負荷が高まる時がある。fsync になんと1分以上かかるような、猛烈な負荷だ。 これはインデクスのマージ時に起きる IO 負荷で、巨大なインデクス同士のマージだとその合計サイズ分の IO が発生することで IO 処理が専有されたままになっていた。 インデクス
こんにちは、 id:yanbe です。 全文検索エンジンLucene上に構築されたSolrという検索ミドルウェアがあります。拡張性・カスタマイズ性に富み、既存のデータのインポート機能が豊富なのもあって、広く利用されています。 参考: Solr - Wikipedia 国内のウェブサービスでのSolrの採用事例を挙げるとNAVERやCookpad、アメーバなどがありますが、はてなでも以前より一部のサービスでSolrを採用しています。 Solrの公式ドキュメント(英語)はwiki形式で提供されており、網羅的な情報はこちらで手に入ります。また、Solrの基本的な使い方を学べるチュートリアルもありますが、「すでにある典型的なLAMP構成のウェブサービスにSolrによる検索機能を組み込む」までには、ここからさらに多くの情報を調べる必要があり、Solrの導入のハードルとなっていると感じました。 そこで
表のような転置インデックス完成後は、クエリに対する結果を返す処理は簡単です。例えば、ユーザーが「Vim」というクエリを発行すると、検索エンジンは「Vim」を含む文書IDリストを返します。表では文書IDの「2」を返します。 検索エンジンを取り巻く7つの技術 検索エンジンのコア技術は前節で紹介したインデックスです。しかし実際に、検索インデックスだけで構成する検索エンジンから、検索サービスを構築するには多大なコストが掛かります。以下の節で検索エンジンを利用したシステム、検索サービスを構築する際に便利なコンポーネントを紹介します。 これらの機能のいくつかは、多くの検索エンジンが組み込んでいます。一方で、簡素な検索エンジンは、以下で紹介するコンポーネントをサポートしていないため、ユーザーが独自に開発するか、その機能を持つコンポーネントを組み込む必要があるものもあります。 【1】トークナイザ 検索エン
研究開発グループの takahi-i です。 先日名前だけご紹介したAnuenue というツールをご紹介させていただきます。Anuenue は Apache Solr のラッパーであり、検索クラスタの構築と運用を容易にする目的で制作されました。 本稿では始めに Apache Solr を選択した理由について述べ、その後、このツールを開発した背景とその目的をご紹介させていただきます。後半では実際に Anuenue を用いて検索クラスタを立ち上げます。 なぜ Apache Solr を採用したのか 昨年の秋、弊社の検索エンジンを置き換えるという計画が社内で策定され、ベースとなる検索エンジンの選定のために多くの OSS 検索エンジンを比較検討しました。このとき重視したのは一台の検索パフォーマンスと同時に、保守の容易さと、開発コミュニティの規模です。 検索エンジンの保守性に関して特に重要と考えたの
About Groonga Groonga is an open-source fulltext search engine and column store. It lets you write high-performance applications that requires fulltext search. Characteristic The latest release 14.0.0 is the latest release. It had been released at 2024-02-29. Install Source The latest posts Groonga 14.0.0 has been released (2024-02-29) PGroonga (fast full text search module for PostgreSQL) 3.1.6 h
はじめに ドキュメントは日々増えて続けています。ドキュメントの数が多くなるほど、目的の情報は見つけにくくなるため、それらのドキュメントを効率よく管理する方法が必要です。その解決策の一つとして、複数のドキュメント(ファイル)をまたいで検索することができる「全文検索サーバー」の導入が挙げられます。 Fessは簡単に導入できる、Javaベースのオープンソース全文検索サーバーです。Fessの検索エンジン部分にはApache Solrを利用しています。Solrは、2億ドキュメントもインデックス可能と言われる非常に高機能な検索エンジンです。一方で、Apache Solrで検索システムを構築しようとする場合、クローラ部分などを自分で実装する必要性があります。Fessではクローラ部分にSeasar Projectから提供されるS2Robotを利用して、ウェブやファイルシステム上の様々な種類のドキュメントを
今回は実際にLinuxマシン上にSolr/Luceneをインストールします。インデックスにデータを投入した上で,Solr/Luceneに組み込まれている管理機能の画面から検索を実施するところまでを紹介します。 今回の作業で必要になるモジュール類は以下の通りとなります。 - Solr(Luceneは同こん) - Java SDK(1.5以降) - lucene-ja(N-gram解析機能) - sen(形態素解析機能) なお,今回の作業では日本語解析モジュールを導入しますが,その中で形態素解析モジュール用の辞書の作成が必要になります。形態素解析モジュール用の辞書作成作業では以下のモジュールが必要になります。 - ant(1.7以降) - perl(5.0以降) では,導入作業を進めましょう。 (1)Javaのインストール まず,最新のSolr 1.3ではJava 1.5以上のバージョンが必要
情報インフラの発展に伴い,私たちが接する情報の絶対量は増加の一途をたどっています。そのため,目的とする情報をすばやくピンポイントで入手するのが困難な状況も増えています。 一方で情報提供側にとっても,情報を確実に利用者に届けることがビジネスの成功に重要な要素となってきており,これを実現するための努力が日々続けられています。 このような状況で,高速で柔軟性が高い検索処理のニーズが高まってきており,全文検索エンジンが注目を集めています。ここでは,オープンソースの全文検索エンジンである「Lucene/Solr」を紹介します。 Lucene/Solrとは Lucene/Solrは,Apache Software Foundation(ASF)のLuceneプロジェクトで開発されているソフトです。LuceneはPure Javaで実装された全文検索エンジンで,単独では実行不可能なライブラリの形式で提供
「Nutch」でウェブサイトをクローリングする方法を説明します。 クローリングとは、簡単にいえば「ウェブサイトの情報を集めるてくれる仕組み」でしょうか。 (注) nutchを利用するには、unixがお勧めです。 私は、「CentOS 4」をOSとし用いました。 最初はwindowsでがんばろうと試行錯誤しましたが 多くの無駄な時間をつかってしまうという結果に終わりました(TT)。 「Nutch」利用したクローリングの方法には、 (A)ある特定のネットワーク(intranet)をクローリングする方法 (B)ウェブ全体(whole-web)をクローリングする方法 の2つがあります。 今回は、このblogサイト「http://kazuhiro.ty.land.to/blog/」を起点にして (A)の方法でクローリングする方法を紹介します。 (1)「Nutch」をインストールする 「Nutch」の
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く