後輩来襲予定
ついに明日は実務訓練でB4の学生二人がやってくる日だ。時間的にはすでに飛行機に搭乗したところだろうか。
顔も見たことのない後輩と一緒に生活することになることになるわけだが、大丈夫だろうか、ってのは普通に考えて向こうのセリフだな。
Search without Scoring
Lucene で検索結果のスコアリングを省くテクニック。
普通の検索は IndexSearcher.search(Query) を使うが、スコアリングがいらない場合は Filter と IndexReader を使って BitSet を取得する。こんな感じ。
IndexReader reader = IndexReader.open(indexPath); try { QueryParser parser = new QueryParser(fieldName, new StandardAnalyzer()); Filter filter = new QueryFilter(parser.parse(query)); BitSet set = filter.bits(reader); for (int i = set.nextSetBit(0); i >= 0; i = set.nextSetBit(i + 1)) { Document doc = reader.document(i); System.out.println(doc.get(fieldName)); } } finally { reader.close(); }
検索結果の件数が多くなるときは結構パフォーマンスの向上の寄与するんじゃないかな。比べてないけど。