本文整理汇总了Java中org.apache.lucene.search.similarities.ClassicSimilarity类的典型用法代码示例。如果您正苦于以下问题:Java ClassicSimilarity类的具体用法?Java ClassicSimilarity怎么用?Java ClassicSimilarity使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
ClassicSimilarity类属于org.apache.lucene.search.similarities包,在下文中一共展示了ClassicSimilarity类的13个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: rewrite
import org.apache.lucene.search.similarities.ClassicSimilarity; //导入依赖的package包/类
@Override
public Query rewrite(IndexReader reader) throws IOException {
Query rewritten = super.rewrite(reader);
if (rewritten != this) {
return rewritten;
}
XMoreLikeThis mlt = new XMoreLikeThis(reader, similarity == null ? new ClassicSimilarity() : similarity);
mlt.setFieldNames(moreLikeFields);
mlt.setAnalyzer(analyzer);
mlt.setMinTermFreq(minTermFrequency);
mlt.setMinDocFreq(minDocFreq);
mlt.setMaxDocFreq(maxDocFreq);
mlt.setMaxQueryTerms(maxQueryTerms);
mlt.setMinWordLen(minWordLen);
mlt.setMaxWordLen(maxWordLen);
mlt.setStopWords(stopWords);
mlt.setBoost(boostTerms);
mlt.setBoostFactor(boostTermsFactor);
if (this.unlikeText != null || this.unlikeFields != null) {
handleUnlike(mlt, this.unlikeText, this.unlikeFields);
}
return createQuery(mlt);
}
示例2: TermVectorsFilter
import org.apache.lucene.search.similarities.ClassicSimilarity; //导入依赖的package包/类
public TermVectorsFilter(Fields termVectorsByField, Fields topLevelFields, Set<String> selectedFields, @Nullable AggregatedDfs dfs) {
this.fields = termVectorsByField;
this.topLevelFields = topLevelFields;
this.selectedFields = selectedFields;
this.dfs = dfs;
this.scoreTerms = new HashMap<>();
this.similarity = new ClassicSimilarity();
}
示例3: setupIndex
import org.apache.lucene.search.similarities.ClassicSimilarity; //导入依赖的package包/类
@Before
public void setupIndex() throws IOException {
dirUnderTest = newDirectory();
List<Similarity> sims = Arrays.asList(
new ClassicSimilarity(),
new SweetSpotSimilarity(), // extends Classic
new BM25Similarity(),
new LMDirichletSimilarity(),
new BooleanSimilarity(),
new LMJelinekMercerSimilarity(0.2F),
new AxiomaticF3LOG(0.5F, 10),
new DFISimilarity(new IndependenceChiSquared()),
new DFRSimilarity(new BasicModelBE(), new AfterEffectB(), new NormalizationH1()),
new IBSimilarity(new DistributionLL(), new LambdaDF(), new NormalizationH3())
);
similarity = sims.get(random().nextInt(sims.size()));
indexWriterUnderTest = new RandomIndexWriter(random(), dirUnderTest, newIndexWriterConfig().setSimilarity(similarity));
for (int i = 0; i < docs.length; i++) {
Document doc = new Document();
doc.add(newStringField("id", "" + i, Field.Store.YES));
doc.add(newField("field", docs[i], Store.YES));
indexWriterUnderTest.addDocument(doc);
}
indexWriterUnderTest.commit();
indexWriterUnderTest.forceMerge(1);
indexWriterUnderTest.flush();
indexReaderUnderTest = indexWriterUnderTest.getReader();
searcherUnderTest = newSearcher(indexReaderUnderTest);
searcherUnderTest.setSimilarity(similarity);
}
示例4: newSearcher
import org.apache.lucene.search.similarities.ClassicSimilarity; //导入依赖的package包/类
public static IndexSearcher newSearcher(IndexReader r, boolean wrapWithAssertions) {
Random random = new Random();
int threads = 0;
final ThreadPoolExecutor ex;
if (random.nextBoolean()) {
ex = null;
} else {
threads = randomIntBetween(random, 1, 8);
ex = new ThreadPoolExecutor(threads, threads, 0L, TimeUnit.MILLISECONDS,
new LinkedBlockingQueue<Runnable>(),
new NamedThreadFactory("LuceneTestCase"));
}
if (ex != null) {
r.addReaderClosedListener(new IndexReader.ReaderClosedListener() {
@Override
public void onClose(IndexReader reader) {
shutdownExecutorService(ex);
}
});
}
IndexSearcher ret;
if (wrapWithAssertions) {
ret = random.nextBoolean()
? new AssertingIndexSearcher(random, r, ex)
: new AssertingIndexSearcher(random, r.getContext(), ex);
} else {
ret = random.nextBoolean()
? new IndexSearcher(r, ex)
: new IndexSearcher(r.getContext(), ex);
}
ret.setSimilarity(new ClassicSimilarity());
return ret;
}
示例5: DocFreq
import org.apache.lucene.search.similarities.ClassicSimilarity; //导入依赖的package包/类
public DocFreq(IndexReader indexReader, String field) {
this.indexReader = indexReader;
this.field = field;
this.docFreqMap = new HashMap<>();
this.similarity = new ClassicSimilarity();
this.numDocs = indexReader.numDocs();
}
示例6: getSimilarity
import org.apache.lucene.search.similarities.ClassicSimilarity; //导入依赖的package包/类
private PerFieldSimilarityWrapper getSimilarity(final QueryWithFilters queryWithFilters) {
return new PerFieldSimilarityWrapper() {
@Override
public Similarity get(String name) {
AnalyzerSettings analyzerSettings = indexConfig.getAnalyzerSettingsForIndexField(name);
AnalyzerSettings.Similarity similarity = AnalyzerSettings.Similarity.BM25;
if (analyzerSettings != null) {
similarity = analyzerSettings.getSimilarity();
}
AnalyzerSettings.Similarity fieldSimilarityOverride = queryWithFilters.getFieldSimilarityOverride(name);
if (fieldSimilarityOverride != null) {
similarity = fieldSimilarityOverride;
}
if (AnalyzerSettings.Similarity.TFIDF.equals(similarity)) {
return new ClassicSimilarity();
}
else if (AnalyzerSettings.Similarity.BM25.equals(similarity)) {
return new BM25Similarity();
}
else if (AnalyzerSettings.Similarity.CONSTANT.equals(similarity)) {
return new ConstantSimilarity();
}
else if (AnalyzerSettings.Similarity.TF.equals(similarity)) {
return new TFSimilarity();
}
else {
throw new RuntimeException("Unknown similarity type <" + similarity + ">");
}
}
};
}
示例7: get
import org.apache.lucene.search.similarities.ClassicSimilarity; //导入依赖的package包/类
/**
* {@inheritDoc}
*/
@Override
public ClassicSimilarity get() {
return similarity;
}
示例8: XMoreLikeThis
import org.apache.lucene.search.similarities.ClassicSimilarity; //导入依赖的package包/类
/**
* Constructor requiring an IndexReader.
*/
public XMoreLikeThis(IndexReader ir) {
this(ir, new ClassicSimilarity());
}
示例9: setSimilarity
import org.apache.lucene.search.similarities.ClassicSimilarity; //导入依赖的package包/类
public IndexSearcher setSimilarity(IndexSearcher searcher) {
Similarity similarity = random().nextBoolean() ? new BM25Similarity() : new ClassicSimilarity();
searcher.setSimilarity(similarity);
return searcher;
}
示例10: testOverrideDefaultSimilarity
import org.apache.lucene.search.similarities.ClassicSimilarity; //导入依赖的package包/类
public void testOverrideDefaultSimilarity() {
Settings settings = Settings.builder().put("index.similarity.default.type", "classic").build();
IndexSettings indexSettings = IndexSettingsModule.newIndexSettings("test", settings);
SimilarityService service = new SimilarityService(indexSettings, Collections.emptyMap());
assertTrue(service.getDefaultSimilarity() instanceof ClassicSimilarity);
}
示例11: testResolveDefaultSimilarities
import org.apache.lucene.search.similarities.ClassicSimilarity; //导入依赖的package包/类
public void testResolveDefaultSimilarities() {
SimilarityService similarityService = createIndex("foo").similarityService();
assertThat(similarityService.getSimilarity("classic").get(), instanceOf(ClassicSimilarity.class));
assertThat(similarityService.getSimilarity("BM25").get(), instanceOf(BM25Similarity.class));
assertThat(similarityService.getSimilarity("default"), equalTo(null));
}
示例12: RelevancyFeedback
import org.apache.lucene.search.similarities.ClassicSimilarity; //导入依赖的package包/类
/**
* Constructor requiring an IndexReader.
*/
public RelevancyFeedback(IndexReader ir) {
this(ir, new ClassicSimilarity());
}
示例13: MoreLikeThis
import org.apache.lucene.search.similarities.ClassicSimilarity; //导入依赖的package包/类
/**
* Constructor requiring an IndexReader.
*/
public MoreLikeThis(IndexReader ir) {
this(ir, new ClassicSimilarity());
}