関口宏司のLuceneブログ

OSS検索ライブラリのLuceneおよびそのサブプロジェクト(Solr/Tika/Mahoutなど)について
スポンサーサイト

一定期間更新がないため広告を表示しています

| スポンサードリンク | - | | - | - |
Solr 1.4.1 リリース / Apache Forrest (メモ)
本日Solr 1.4.1(1.4.0のバグフィックス)がリリースされた。

それに伴い、SolrのWebサイトが更新される(What's Newなど)のだが、WebサイトはApache Forrestを使ってビルドしている。ここでリリースマネージャのMark Miller氏がビルドにはまった(?)のでメモ。

ビルド時にエラーになってしまうという問題だが、原因はJava 6を使っていたから。ForrestはSunのJava 5でなければいけない。理由は、Forrestは内部でSunのクラス(sun.xxx.yyy.Zzz)を使っていてそれがJava 5で提供されているものだから。
| 関口宏司 | Luceneリリース | 23:48 | comments(6) | trackbacks(0) |
(メモ)Apacheコミッター専用のURL短縮サービス登場
http://blogs.apache.org/infra/entry/s_apache_org_uri_shortening

| 関口宏司 | Lucene/Solrコミュニティ | 07:38 | comments(0) | trackbacks(0) |
Solrのモニタリングツール - New Relic RPM Lite
http://www.newrelic.com/solr.html

インストールは上記URLからユーザ登録を行い、フリー版のRPM LiteのZIPファイルをダウンロードして解凍する。そして、通常次のようにSolrを(Jettyで)起動するところを:

$ java -jar start.jar


次のようにJava Agentを指定して起動するように変更する:
$ java -javaagent:/path/to/newrelic.jar -jar start.jar


するとNew Relicに作成したユーザアカウントの画面にSolrの稼働状況が表示される。
| 関口宏司 | Luceneツール | 21:15 | comments(0) | trackbacks(0) |
search-lucene.com
Lucene/SolrのコミッターのOtisさんのSematext社制作によるsearch-lucene.comは、Lucene/Solr/Nutchなどのメーリングリストや、ソースコード/Javadocなどが検索できる。auto-completion機能付きなので、メソッド名などの最初の数文字を入力するとGoogleサジェストのように検索窓の下に検索文字列候補がドロップダウン表示されるのでなかなか便利。
| 関口宏司 | Luceneツール | 10:17 | comments(0) | trackbacks(0) |
(メモ)Lucene/Solr/Nutchのアーキテクチャ(図)


元ネタ:

https://issues.apache.org/jira/browse/LUCENE-2412
| 関口宏司 | Luceneとは? | 10:52 | comments(0) | trackbacks(0) |
QueryParser.setAutoGeneratePhraseQueries()メソッド(3.1)
CJKなどの単語間がスペースで区切られていない文字列をQueryParserでparse()すると、Analyzerにより複数の単語が出力される文字列ではPhraseQueryが生成されるのがこれまでのQueryParserの仕様であった。プログラム例を示す:

public static void main(String[] args) throws Exception {
  QueryParser qp = new QueryParser( "f", analyzer );
  //qp.setDefaultOperator( Operator.AND );
  Query query = qp.parse( "こんにちは" );
  System.out.println( query.getClass().getSimpleName() );
  System.out.println( query.toString() );
}


実行結果は次のようになる:
PhraseQuery
f:"こん んに にち ちは"


Queryクラス名からPhraseQueryが生成されているのがわかる。これは、「こん」「んに」「にち」「ちは」という5つの単語がこの順序ですきまなく並んでいる文章を検索するQueryオブジェクトだ。

ところが現在、デフォルトでPhraseQueryではなくBooleanQueryを生成すべし、という提案がなされている:

https://issues.apache.org/jira/browse/LUCENE-2458

パッチがポストされているので、試しにこれを使ってみよう。プログラムは次のようになる:
static Version v = Version.LUCENE_31;
static Analyzer analyzer = new CJKAnalyzer( v );

public static void main(String[] args) throws Exception {
  QueryParser qp = new QueryParser( v, "f", analyzer );
  //qp.setDefaultOperator( Operator.AND );
  //qp.setAutoGeneratePhraseQueries( true );
  Query query = qp.parse( "こんにちは" );
  System.out.println( query.getClass().getSimpleName() );
  System.out.println( query.toString() );
}


このプログラムの実行結果は次のようになり、BooleanQueryが生成されていることがわかる:
BooleanQuery
f:こん f:んに f:にち f:ちは


このとき、各単語はQueryParserのデフォルトオペレーターが採用されてBooleanQueryが組み立てられる。デフォルトオペレーターは上のコメントアウトされている2行のうちの1行目を有効にすればANDに変更できる。ANDにすると次のようになる:
BooleanQuery
+f:こん +f:んに +f:にち +f:ちは


提案では、Lucene 3.1からこのようにしたらどうかという意見が出されている。上のプログラムでLUCENE_31の部分をLUCENE_29に変えると、従来通りPhraseQueryが出力されるようになる。またLucene 3.1であっても、上のプログラムでコメントアウトした2行目を有効にしてもPhraseQueryを出力させることが可能である。
| 関口宏司 | Luceneクラス解説 | 22:57 | comments(0) | trackbacks(0) |
+ Solrによるブログ内検索
+ PROFILE
  12345
6789101112
13141516171819
20212223242526
27282930   
<< June 2010 >>
+ LINKS
検索エンジン製品 - 比較のポイント
商用検索エンジンを購入した企業担当者は読まないでください。ショックを受けますから・・・
>>製品比較 10のポイント
+ Lucene&Solrデモ
+ ThinkIT記事
+ RECOMMEND
Apache Solr入門 ―オープンソース全文検索エンジン
Apache Solr入門 ―オープンソース全文検索エンジン (JUGEMレビュー »)
関口 宏司,三部 靖夫,武田 光平,中野 猛,大谷 純
+ RECOMMEND
Lucene in Action
Lucene in Action (JUGEMレビュー »)
Erik Hatcher,Otis Gospodnetic,Mike McCandless
FastVectorHighlighterについて解説記事を寄稿しました。
+ RECOMMEND
+ SELECTED ENTRIES
+ RECENT COMMENTS
+ RECENT TRACKBACK
+ CATEGORIES
+ ARCHIVES
+ MOBILE
qrcode
+ SPONSORED LINKS