package net.mono_koubou.sample; import java.io.IOException; import org.apache.lucene.analysis.Analyzer; import org.apache.lucene.analysis.cjk.CJKAnalyzer; import org.apache.lucene.document.Document; import org.apache.lucene.document.Field; import org.apache.lucene.document.Field.Index; import org.apache.lucene.document.Field.Store; import org.apache.lucene.index.IndexReader; import org.apache.lucene.index.IndexWriter; import org.apache.lucene.index.Term; import org.apache.lucene.search.FieldCache; import org.apache.lucene.search.Hits; import org.apache.lucene.search.IndexSearcher; import org.apache.lucene.search.Query; import org.apache.lucene.search.Searcher; import org.apache.lucene.search.TermQuery; import org.apache.lucene.search.function.CustomScoreQuery; import org.apache.lucene.search.function.DocValues; import org.apache.lucene.search.function.FloatFieldSource; import org.apache.lucene.search.function.ValueSourceQuery; import org.apache.lucene.store.Directory; import org.apache.lucene.store.RAMDirectory; /** * ValueSourceQueryのサンプルソース * * library * lucene-core.jar * lucene-ja.jar * sen.jar * log4j.jar * commons-logging.jar * */ public class ValueSourceQuerySample { public static void main(String[] args) throws Exception { ValueSourceQuerySample sample = new ValueSourceQuerySample(); sample.makeIndex(); sample.execute("すし",5,5,5); } private static final String[][] VALUES__ = { {"すし","1,7"}, {"ラーメン","2,2"}, {"すし","3,4"}, {"ラーメン","4,7"}, {"すし","5,2"}, {"ラーメン","7,7"}, {"ラーメン","8,3"}, {"すし","9,1"}, {"すし","9,5"}, {"ラーメン","9,9"}}; private static final String F_VALUE = "value"; private static final String F_POS = "pos"; private Analyzer analyzer_ = new CJKAnalyzer(); private Directory dir_ = new RAMDirectory(); /** * INDEX作成 * @throws Exception */ public void makeIndex() throws Exception{ IndexWriter writer = new IndexWriter( dir_, analyzer_ ); try{ for(int i=0;i0f?distance:0f; }catch(Exception ex){ ex.printStackTrace(); } return distance; } @Override public String toString(int doc) { return super.toString(); } } } }