メール全文検索アプリケーション Sylph-Searcher のご紹介 SRA OSS, Inc. 日本支社技術部チーフエンジニア Sylpheed 開発者 山本博之 Copyright 2007 SRA OSS, Inc. Japan All right

Similar documents
高速 軽量メールクライアント Sylpheed の応用ソリューション 高速全文検索機能 (Sylph-searcher) メールライブラリ (LibSylph) OpenSource Conference 2009 Tokyo/Spring SRA OSS, Inc. 日本支社山本博之 Copyri

Sylpheed とは オープンソースのメールソフト ライセンスは GPL+LGPL 高速 軽量 高機能 高い操作性 高い信頼性 導入が容易 マルチプラットフォーム Windows, Linux, etc. 多言語対応 ( 約 30 ヶ国語 )

PowerPoint Presentation

スライド 1

Microsoft Word - Android_SQLite講座_画面800×1280

内容 Visual Studio サーバーエクスプローラで学ぶ SQL とデータベース操作... 1 サーバーエクスプローラ... 4 データ接続... 4 データベース操作のサブメニューコンテキスト... 5 データベースのプロパティ... 6 SQL Server... 6 Microsoft

クエリの作成が楽になるUDF

Web 環境におけるレイヤー別負荷の 2 違い DB サーバ AP サーバ 後ろのレイヤーほど負荷が高く ボトルネックになりやすい

PostgreSQL による クラスタ構成の可能性 SRA OSS, Inc. 日本支社 取締役支社長 石井達夫

WEBシステムのセキュリティ技術

スライド 1

PostgreSQL 9.4 評価検証報告 SRA OSS, Inc. 日本支社高塚遙 :55 ~ 16:30 PostgreSQL 9.4 最新情報セミナー Copyright 2014 SRA OSS, Inc. Japan All rights reserved. 1

Microsoft PowerPoint pptx

10th Developer Camp - B5

Exfront4.1.0リリースノート

intra-mart Accel Platform — TableMaintenance ユーザ操作ガイド   第7版   None

データベース暗号化ツール「D’Amo」性能検証

復習 (SQL 文 ) 3/6 復習 (SQL 文 ) 4/6 表の作成 CREATE TABLE...; 表の削除 DROP TABLE テーブル名 ; 表内のデータが全て消えてしまう. 表内のデータを得る SELECT 列名 FROM 表名...; 表にデータを挿入する. INSERT INTO

勉強会の流れ Google API の概要 デモ curl で実際に体験 Copyright 2010 SRA OSS, Inc. Japan All rights reserved. 2

Microsoft Word 基_シラバス.doc

PGECons技術ドキュメントテンプレート Ver.3

メールアーカイブASP ご利用マニュアル

今回の内容 主に日本で PC 上で使われているさまざまなメールソフトについて解説 現在一般的に使用されているメールソフトについてそれぞれの簡単な解説 比較 いくつかの主要なメールソフトについての詳細解説 比較 Sylpheed Sylpheed Pro についての解説 質疑応答

PHP 開発ツール Zend Studio PHP アフ リケーションサーハ ー Zend Server OSC Tokyo/Spring /02/28 株式会社イグアスソリューション事業部

7th CodeGear Developer Camp

Notesアプリが iPadで動くDomino Mobile Apps ご紹介

intra-mart Accel Platform — TableMaintenance ユーザ操作ガイド   第8版  

リレーショナルデータベース入門 SRA OSS, Inc. 日本支社 Copyright 2008 SRA OSS, Inc. Japan All rights reserved. 1

日本 PostgreSQL ユーザ会第 28 回しくみ + アプリケーション勉強会 Zabbix を使って PostgreSQL を監視してみよう 2014 年 2 月 1 日 TIS 株式会社中西剛紀 (Yoshinori Nakanishi)

スライド 1

1. 検証目的 本検証は PowerTerm WebConnect 環境において IVEX Logger が正常に動作し かつ製品仕様通り にログが取得できる事を確認するために実施します 2. 検証環境 本検証を実施するために準備した環境は以下の通りです マシン環境 用途 OS CPU RAM HD

ADempiere (3.5)

スライド 1

PowerPoint プレゼンテーション

Exam : 1z0-882 日本語 (JPN) Title : Oracle Certified Professional, MySQL 5.6 Developer Vendor : Oracle Version : DEMO 1 / 4 Get Latest & Valid 1z0-882-JP

平成20年度成果報告書

PowerPoint プレゼンテーション

スライド 1

目次. WEB メールへのログイン.... メール送信手順.... メール受信手順.... アドレス帳の操作手順.... フォルダーの操作手順 メール発信者登録 署名登録手順 基本的な設定 参考情報... 8

Chapter Two

( 目次 ) 1. はじめに 開発環境の準備 仮想ディレクトリーの作成 ASP.NET のWeb アプリケーション開発環境準備 データベースの作成 データベースの追加 テーブルの作成

テーブルの確認 sqlite>.tables.tables コマンドでデータベース内のテーブル一覧を表示する テーブルスキーマの表示 sqlite>.schema mytable.schema コマンドで指定のテーブルのスキーマを表示できる テーブル出力の整形.explain コマンドを使うと テー

eラーニング資料 e ラーニングの制作目標 データベース編 41 ページデータベースの基本となる概要を以下に示す この内容のコースで eラーニングコンテンツを作成予定 データベース管理 コンピュータで行われる基本的なデータに対する処理は 次の 4 種類です 新しいデータを追加する 既存のデータを探索

iNFUSE インフューズ

Sequel のすすめ 私が SQL を嫌いな理由 とみたまさひろ RubyHiroba Sequel のすすめ - 私が SQL を嫌いな理由 Powered by Rabbit 2.0.7

OSSTechプレゼンテーション

POWER EGG V2.01 ユーザーズマニュアル 汎用申請編

SoftBank GALAXY Tab4 取扱説明書

Basic descriptive statistics

intra-mart EX申請システム version.7.2 事前チェック

intra-mart Accel Platform — IM-共通マスタ スマートフォン拡張プログラミングガイド   初版  

SQLite データベース IS04 組み込み 1

PowerPoint プレゼンテーション

IBM SPSS Amos インストール手順 (サイト ライセンス)

目次 はじめに 4 概要 4 背景 4 対象 5 スケジュール 5 目標点 6 使用機材 6 第 1 章 C# 言語 7 C# 言語の歴史 7 基本構文 8 C 言語との違い 9 Java 言語との違い 10.Netフレームワーク 10 開発資料 10 第 2 章 Mono 11 Monoの歴史 1

Chapter Two

PowerPoint プレゼンテーション

GlobalFlow5 Ver.1.00R04 リリースノート

1,.,,,., RDBM, SQL. OSS,, SQL,,.

スライド 1

eYACHO 管理者ガイド

Python によるジオプロセシング スクリプト入門

1. メールにファイルを添付する メールには画像や文書ファイルなどを添付することができます ファイルをドラッグ & ドロップで添付する方法と ファイルを指定して添付する方法があります 1.1. ファイルをドラッグ & ドロップで添付する この機能は ブラウザバージョンおよび設定によっては ご利用いた

Oracle Database Connect 2017 JPOUG

extension機能概要マニュアル

Control Manager 6.0 Service Pack 3 System Requirements

5-2. 顧客情報をエクスポートする 顧客管理へのアクセス手順 メールディーラーで管理する顧客情報に関する設定を行います 1. 画面右上の 管理設定 をクリックする 2. 管理設定 をクリックする 3. ( タブ ) 顧客管理 をクリックする 2

Microsoft Word - Outlook Web Access _IE7_ Scenario.doc

PowerPoint プレゼンテーション

MySQL 日本語処理完全解説 住商情報システム株式会社プラットフォームソリューション事業部門 IT 基盤ソリューション事業部オープンソースシステム部玉川修一 1

スライド 1

,, create table drop table alter table

1 SQL Server SQL Oracle SQL SQL* Plus PL/SQL 2 SQL Server SQL Server SQL Oracle SQL SQL*Plus SQL Server GUI 1-1 osql 1-1 Transact- SQL SELECTFROM 058

データセンターの効率的な資源活用のためのデータ収集・照会システムの設計

DrSumEA_ServerC_本文.indd

iNFUSE インフューズ

KiwiSyslogServer/KiwiLogViewer製品ガイド

intra-mart QuickBinder Ver.5.0 リリース ノート 第 4 版 2016/7/15 1. バージョンアップ内容以下にこのバージョンで変更になった点を列挙します なお 各機能の詳細に関してはマニュアルを参照して下さい また 各機能の設定方法に関しては 操作説明書またはセット

intra-mart Accel Platform

多言語ドメイン名の実装 mdnkit 石曽根信 ( 株 ) SRA 2001/12/04 日本語ドメイン名解説 / mdnkit 1 mdnkit 多言語ドメイン名を扱うためのツールキット 正規化 エンコード変換等を提供するライブラリとコマンド 既存アプリケーシ

レベルアップ詳細情報 < 製品一覧 > 製品名 バージョン < 追加機能一覧 > 管理番号 内容 説明書参照章 カナ文字拡張対応 < 改善一覧 > 管理番号 内容 対象バージョン 説明書参照章 文字列のコピー ペースト改善 ~ 子画面の表示方式 ~ 履歴の詳細情報 ~ タブの ボタン ~ 接続時の管

eService

vi 目次 画像のサイズ設定 画像の効果 画面の取り込みとトリミング Office の共通基本操作 図形 図形の挿入と削除 図形の編集 図形の背景色の透過 Office

Web型iEDIシステム操作説明書

Oracle SQL Developer Data Modeler

アカウント管理 アカウント管理 利用者のメールアカウントの追加 編集ができます また パスワード ( 管理者 利用者 ) の変更も可能です アカウント管理画面を表示する 利用者のメールアカウントを登録するための画面は 以下の方法で表示します 1 管理者メニューを表示し アカウント管理 をクリックしま

Microsoft PowerPoint - OSS運用管理勉強会資料_ a.pptx

SOC Report

Si 知識情報処理

目次 Windows 2003 への新規インストール... 3 Windows 2008 への新規インストール... 4 Windows 2012 への新規インストール... 6 Microsoft SQL のサポート... 8 IPv4/IPv6 のサポート... 8 制限事項... 9 Web

<4D F736F F D208AC888D B836A F C91808DEC837D836A B81698AC7979D8ED A E646F6

[Unifinity]運用マニュアル

プレポスト【問題】

目次 第 1 章はじめに 本ソフトの概要... 2 第 2 章インストール編 ソフトの動作環境を確認しましょう ソフトをコンピュータにセットアップしましょう 動作を確認しましょう コンピュータからアンインストー

TALON Tips < 親子関係のある構成データを TALON で表示する > 株式会社 HOIPOI 第 1.1 版 p. 1

tkk0408nari

SoftBank 201F 取扱説明書

DB STREET 設置マニュアル

MySQL Server 5.0 Load Data ベンチマーク

3. XML, DB, DB (AP). DB, DB, AP. RDB., XMLDB, XML,.,,.,, (XML / ), XML,,., AP. AP AP AP 検索キー //A=1 //A=2 //A=3 返却 XML 全体 XML 全体 XML 全体 XMLDB <root> <A

Transcription:

メール全文検索アプリケーション Sylph-Searcher のご紹介 SRA OSS, Inc. 日本支社技術部チーフエンジニア Sylpheed 開発者 山本博之 yamamoto@sraoss.co.jp

Sylph-Searcher とは Sylpheed 向け電子メール全文検索アプリケーション PostgreSQL 8.2の全文検索機能を利用 Linux/Unix Windows 2000 以降で動作 オープンソース ( 修正 BSDライセンス ) で配布

Sylph-Searcher の特長 PostgreSQL の全文検索エンジン tsearch2 を利用 メールの検索に特化 Sylpheed で管理しているメールボックス (MH, IMAP4, News) MH(Mew, Wanderlust 等 ) をインポート可能 高速なインポート 検索 クライアントとデータベースを別マシンに分けることが可能 複数台のマシンからもアクセス可能 内部文字コードはすべて UTF-8 多言語に対応

Sylph-Searcher が使用するライブラリ GLib ( 基本的なデータ構造 アルゴリズムを提供 ) GTK+ (GUIを提供) LibSylph (Sylpheedのメールデータの操作) MeCab ( テキストのわかち書き ) libpq (PostgreSQLとの通信)

tsearch2 PostgreSQL に全文検索機能を追加する拡張モジュール PostgreSQL 7.4 以降の contrib ディレクトリに付属 PostgreSQL 8.3 から本体に組み込まれる予定 マルチバイト文字 (UTF-8) 対応 8.2 で追加された GIN( 汎用転置インデックス ) を使用 転置インデックス : 単語がどの文書に含まれるかを表すデータ構造 単語ごとに区切られた言語が前提 日本語ではわかち書きが必須

使い方 データベースの設定 データベースの作成 付属のスクリプトでテーブルと関数の登録 tsearch2 の組み込み メールのインポート syldbimport コマンドを使用 例 : syldbimport -d dbname #mh/ メール箱 /inbox 定期的に (cron 等で ) メールを差分インポートすると便利 検索 sylph-searcher (GUI フロントエンド ) を実行

Sylpheed 全文検索アプリ構成図 Sylpheed Sylph-Searcher LibSylph MeCab メールデータ PostgreSQL tsearch2

処理の流れ LibSylph 経由でメールデータにアクセス MeCab で本文をわかち書き ( 日本語を単語に分解 ) libpq 経由で PostgreSQL にデータを投入 PostgreSQL は tsearch2 により全文検索インデックスを生成 検索時は検索語を投入時と同様に MeCab で分かち書きしてデータベースに問い合わせる 全文検索インデックスを使用して検索されるので高速

テーブル定義 msginfo msg_folderinfo msg_sid BIGSERIAL PRIMARY KEY file_size INTEGER file_mtime TIMESTAMP msg_date TIMESTAMP flags INTEGER hdr_from TEXT hdr_to TEXT hdr_cc TEXT hdr_newsgroups TEXT hdr_subject TEXT hdr_msgid TEXT UNIQUE NOT NULL hdr_inreplyto TEXT hdr_references TEXT body_text TEXT body_index TSVECTOR CREATE INDEX msginfo_body_index ON msginfo USING gin (body_index); msg_sid BIGINT NOT NULL folder_id TEXT msgnum INTEGER PRIMARY KEY (folder_id, msgnum) msginfo: メッセージの情報 msg_folderinfo: メッセージを含むフォルダの情報 msg_sid: DB 内部で使用するメッセージ識別 ID hdr_msgid: [Message-Id] メッセージの一意性の判別に使用

実際に発行される SQL 文 ( インポート時 ) INSERT INTO msginfo(file_size, file_mtime, msg_date, flags, < 各種ヘッダ...>, body_text, body_index) VALUES(..., to_tsvector(' わかち書きテキスト ')); to_tsvector() 関数によりわかち書きされたテキストを tsvector 型に変換 tsvector: キーワードのテキスト上の位置情報 body_index から GIN インデックスを自動生成

実際に発行される SQL 文 ( 検索時 ) SELECT msg_sid, hdr_from, hdr_to, hdr_subject, msg_date, folder_id FROM msginfo LEFT JOIN msg_folderinfo USING (msg_sid) WHERE query(' 検索文字列 ') @@ body_index; query(): SELECT to_tsquery(replace($1, ' ', '&')) to_tsquery() 関数により検索文字列をtsearch2のクエリに変換 WHERE <tsquery> @@ 対象カラム という特別な書式を使用

ベンチマーク 測定に使用したマシンのスペック CPU: Core 2 Duo E6600 (2.4GHz, dual-core) RAM: DDR2-667 1GB (512MB x2) 変更した PostgreSQL の設定 fsync=off maintenance_work_mem=128mb

ベンチマーク結果 32598 通のメッセージ (448MB) のインポートにかかった時間 8 分 56 秒 (2 回目 : 14.2 秒 ) (60.8 通 / 秒 ) 上記のメッセージを以下のキーワードで検索した場合にかかった時間 全文検索 : 4.006 (msec) ( ヒット件数 : 215) Sylpheed : 63.590 (msec) ( ヒット件数 : 6890) データベース全体のサイズ 199MB

実装済みの機能 (1.0) インポート用コマンド (syldbimport) 簡易検索用コマンド (syldbquery) GUI フロントエンド (sylph-searcher) フォルダ単位のインポート フォルダの再帰的インポート 差分インポート Sylpheed 管理外の MH フォルダのインポート Mew, Wanderlust などのメールもインポート可能 本文 From To Subject 日付による検索 Sylpheed との連携 検索結果のメッセージを Sylpheed で開く

実装予定の機能 GUI 上でのインポート操作 添付ファイルの検索 検索条件の追加 フレーズ検索 検索ヒット率によるランキング 他フォーマット (mbox 等 ) への対応 Web インタフェースなどの提供 その他の全文検索エンジンへの対応 Sylpheed への統合 ( 将来的に ) 受信時に自動的にインポート Sylpheed 上での全文検索

Sylpheed ホームページ 関連サイト http://sylpheed.sraoss.jp/ Sylph-Searcher のダウンロード http://sylpheed.sraoss.jp/ja/download.html#searcher