CLOVER🍀

That was when it all began.

2013-07-01から1ヶ月間の記事一覧

ScalaのReflectionについて、まとめてみる - 導入編

最近、ちょっとしたところでScalaのリフレクションを使おうとして、思っていた以上に忘れていてなかなかハマってしまったのがちょっと悔しくて、これを機にまとめてみようかなと思いました。3回くらいに分けて書くつもりです。よろしければ、お付き合いくだ…

Infinispan/Hazelcast/Ehcache/Guavaでベンチマーク

この前、Javaで使えるキャッシュライブラリについてまとめたエントリを書きましたが、やっぱりキャッシュといえばパフォーマンスが気になるところですよね…。NoSQLでのベンチマークといえば、YCSBですが、なんかInfinispanの扱いが微妙だったので、パスして…

NGramとEdgeNGramなTokenizerとTokenFilterを使ってみる

Luceneをちょこちょこ勉強している間に、Lucene 4.4.0がリリースされましたね。オフィシャルサイトのトップからは、3.6系のダウンロードリンクが消えてしまいましたよ。Apache Lucene http://lucene.apache.org/で、今回はN-Gramを使ってみようと思ったので…

Javaで使えるオープンソース・キャッシュライブラリ

最近は、仕事でEhcacheを使っていたり、他にも調べたりすることがあったので、ちょっとJavaで使えるオープンソースなキャッシュライブラリについてまとめてみることにしました。あ、そんなに大した内容ではないので、ご期待なさらぬよう…。でまあ、改めて調…

JBossのMavenリポジトリについて

以前Netty 3で遊んでいたり、最近Infinispanを使ったりするまで、まったく関わってこなかったJBossのプロジェクトですが、それを機にMavenリポジトリへの参照も設定するようになったわけです。が、なんかいっぱいあって、どれを使えばいいのかよくわかりませ…

Infinispanでキーの配置先のグルーピングを行うAPI

Infinispanは、キーとなるオブジェクトのハッシュ値で配置先のNodeを決定しますが、この挙動を変更するためのGrouping APIというものが存在します。The Grouping API https://docs.jboss.org/author/display/ISPN/The+Grouping+API以前は、こういうAPIを許可…

組み込みTomcatを使ってみる

Tomcat 7から、組み込み版のTomcat APIができていたのは知っていましたが、なんとなく気にはなるものの、触ってこなかったのでちょっと試してみました。技術者が知っておきたいTomcat 7の新機能20連発 (2/3) http://www.atmarkit.co.jp/ait/articles/1106/24…

LuceneのSynonymFilterを使う

Luceneで類義語の定義を行う、SynonymFilterを使ってみました。Solrでもよく目にするので、知っておいて損はないでしょう。主に使うのは、 SynonymFilterクラス SynonymMapクラス SynonymMap.Builderクラス になります。Solrの記法を使って類義語の定義を書…

Groovyのヒアドキュメント

Groovyを使った場合のヒアドキュメント、なぜか毎度覚えられずにシェルスクリプトとかPHPと混じったりしてるので、ちょっと自分のために整理してみました。Strings and GString http://groovy.codehaus.org/Strings+and+GStringドキュメント上では、「ヒアド…

LuceneのCollectorとページング

LuceneのIndexSearcherのsearchメソッドに、Collectorという抽象クラスを取るものがあるのですが、こちらの書籍では「低レベルAPI」的な扱いをされていたので(正確には、その前身のHitCollectorが、ですが)なんとなく飛ばしていました。Apache Lucene 入門…

Infinispanの設定ファイルのdefaultタグについて

Infinispanの設定ファイルのdefaultタグですが、どうもちゃんと理解しないまま使っていたようです…。まあ、なんとなくそんな素振りは見えていた気がしますが。設定ファイルに書く <default> </default> の部分は、他のCacheのデフォルトの設定となり、namedCacheタグやConfigur…

InfinispanのL1 Cachingを試してみる

Infinispanのクラスタリング時に使える機能である、L1 Cachingをちょっと試してみました。L1 Caching https://docs.jboss.org/author/display/ISPN/Clustering+modes#Clusteringmodes-L1Caching L1 Cachingとは? クラスタリングのモードが、Distributionの…

LuceneのFilterを使う

ソートに続いて、今度はFilterで遊んでみました。Filterってなんだ?という話ですが、IndexSearcher#searchメソッドの引数にQueryと一緒に渡して、検索結果を絞り込んだり、結果をキャッシュして高速化させたりするというのが主な使い方みたいです。Queryと…

InfinispanのCacheの設定を、文字列として出力して確認してみる

Infinispanを触っていて、たまにCacheにどんな値が設定されているのとかを確認したくてやっている方法です。Cache#getCacheConfigurationで得られるConfigurationクラスのインスタンスをtoStringすると、現在の設定値が得られます。普通に取得したCacheのイ…

Lucene Kuromojiが使っているIPA辞書の場所

ここにあるのをIvyでダウンロードして、ビルドして使ってるみたい。http://mecab.googlecode.com/files/mecab-ipadic-2.7.0-20070801.tar.gz

JapaneseAnalyzer/Tokenizer(Kuromoji)とCJKAnalyzer/Tokenizerを簡単に試すスクリプト

以前に書いたエントリ、LuceneのAnalyzerで遊んでみる http://d.hatena.ne.jp/Kazuhira/20130601/1370103317をちょっと簡単にしてGroovyに移植したものです。自分が、使いそうな気がしたので…。使うのは、JapaneseAnalyzer(Kuromoji)とCJKAnalyzerだけです…