タグ

FullTextSearchとJavaに関するhimorogiのブックマーク (7)

  • 検索エンジンを実装 (1)転置インデックス作成

    今回はN-gramでテキストを分解します。N-gram法とは対象の文字列を一定のN文字単位で分解し、それの出現頻度を求める方法です。これによって、検索エンジンに使われる転置インデックスを作成したいと思います。転置インデックスの作成方法にはN-gramの他に形態素解析があります。両者の性能の長短は全文検索 – Wikipediaに詳しく載っています。 Javaソースコード(Make2gram.java) さて、まずは文字列を2単語に切り分けるプログラムを作成しました。データ構造は単純にArrayListで、出現頻度も求めていません。 import java.io.*; import java.util.*; /** * N-gram法 */ public class Make2gram { public static void main(String[] args) { final shor

    検索エンジンを実装 (1)転置インデックス作成
  • 第5回 全文検索エンジン「Lucene/Solr」を導入する

    今回は実際に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以上のバージョンが必要

    第5回 全文検索エンジン「Lucene/Solr」を導入する
  • Debianで全文検索サーバー「Apache Solr」を動かす

    全文検索エンジン「Lucene」は知っていたのですが、 LuceneのHTTPラッパー+拡張機能「Solr」というプロダクトを 最近知りました。 http://lucene.apache.org/solr/ Luceneを使ってみたときの感想は、Javaプログラムに組み込むような イメージでちょっと使い勝手が悪いな~というものです。 Solrはjettyを内蔵しており、単独で全文検索サーバーとして 動作する模様。 また、リクエストはhttp経由で行われるため、別な言語からでも 簡単に利用できそうです。 DebianにJavaをインストールし、Solrの動作確認を行うまでの手順を メモ書きとして残しておきます。 Javaのインストール ここからjdk1.6をダウンロードします。 http://www.j2ee.me/javase/ja/6/download.html 私は手元にjdk-6u1

    Debianで全文検索サーバー「Apache Solr」を動かす
  • Solr1.3(Jetty)でSenを使えるようにする設定方法:お題目うぉっち

    2008年12月30日 Solr1.3(Jetty)でSenを使えるようにする設定方法 現在、Solr1.3をいろいろいじくる際には、最初からついてくるJettyのExampleをそのまま流用して使っている。 Senの組み込みもできているのだが、あれこれ試行錯誤をしながらセットアップしたので、どれが当に必要な設定なのか、実はよく分かっていないという状態。が、一度はうまく動いているものを下手に変更して動かなくなるのは避けたい。そんなこんなで「触らぬ神にたたりなし」だったのだが、今後の新規インストールの際に再びハマりそうな気がしたので、Senの組み込みを0からやり直してみた。 参考にさせていただいたのは、いつも参考にさせていただいている下記のページ。ありがとうございます。 日形態素解析器Senを導入する その2 lucene-jaのインストール Solrお試し2 普通に読むと、sen.j

  • Solr のディレクトリ構造: おちエンのブログ

    solr にはゼロから make できるようにソースファイルがついてきたり、サンプルを実行できるように jetty が同梱されてたりします。 それが原因でディレクトリ構造が複雑になっている気がします。 今回はこのディレクトリ構造を解明したいと思います。 solr は jetty で動かすという前提にすると、example というディレクトリ名が気に入らないのでこれを変更することにします。ただ、example ディレクトリはほとんど jetty に関連するファイルになっているため、example ディレクトリを jetty ディレクトリと名前を変えようと思います。 そうすると、make 前のディレクトリ構造は以下のようになります。 jetty ディレクトリより上のディレクトリは、solr を make するための Makefile (build.xml) やソース群です。 jetty ディレ

  • Fessで作るApache Solrベースの全文検索サーバー ~ 導入編

    はじめに ドキュメントは日々増えて続けています。ドキュメントの数が多くなるほど、目的の情報は見つけにくくなるため、それらのドキュメントを効率よく管理する方法が必要です。その解決策の一つとして、複数のドキュメント(ファイル)をまたいで検索することができる「全文検索サーバー」の導入が挙げられます。 Fessは簡単に導入できる、Javaベースのオープンソース全文検索サーバーです。Fessの検索エンジン部分にはApache Solrを利用しています。Solrは、2億ドキュメントもインデックス可能と言われる非常に高機能な検索エンジンです。一方で、Apache Solrで検索システムを構築しようとする場合、クローラ部分などを自分で実装する必要性があります。Fessではクローラ部分にSeasar Projectから提供されるS2Robotを利用して、ウェブやファイルシステム上の様々な種類のドキュメントを

    Fessで作るApache Solrベースの全文検索サーバー ~ 導入編
  • トップページ

    SQL データベース操作言語SQLについて、またRDBMSの持つ機能について詳しく解説します。 DB概要、SQL、テーブル操作、データ操作 ... 特集:replication PostgreSQLのレプリケーションシステムを紹介し、それらの機能を比較していきます。 特集:pgbench PostgreSQLのベンチマークテストに用いられるプログラムである pgbench について解説します。 SQL演習問題 各章に用意された演習問題を集めました。

  • 1