当前位置: 首页>>代码示例>>Java>>正文


Java ClassicSimilarity类代码示例

本文整理汇总了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);
}
 
开发者ID:justor,项目名称:elasticsearch_my,代码行数:27,代码来源:MoreLikeThisQuery.java

示例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();
}
 
开发者ID:justor,项目名称:elasticsearch_my,代码行数:10,代码来源:TermVectorsFilter.java

示例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);
}
 
开发者ID:o19s,项目名称:elasticsearch-learning-to-rank,代码行数:34,代码来源:LtrQueryTests.java

示例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;

}
 
开发者ID:jprante,项目名称:elasticsearch-plugin-bundle,代码行数:36,代码来源:LuceneTestCase.java

示例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();
}
 
开发者ID:lumongo,项目名称:lumongo,代码行数:8,代码来源:DocFreq.java

示例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 + ">");
			}
		}
	};
}
 
开发者ID:lumongo,项目名称:lumongo,代码行数:35,代码来源:LumongoSegment.java

示例7: get

import org.apache.lucene.search.similarities.ClassicSimilarity; //导入依赖的package包/类
/**
 * {@inheritDoc}
 */
@Override
public ClassicSimilarity get() {
    return similarity;
}
 
开发者ID:justor,项目名称:elasticsearch_my,代码行数:8,代码来源:ClassicSimilarityProvider.java

示例8: XMoreLikeThis

import org.apache.lucene.search.similarities.ClassicSimilarity; //导入依赖的package包/类
/**
 * Constructor requiring an IndexReader.
 */
public XMoreLikeThis(IndexReader ir) {
    this(ir, new ClassicSimilarity());
}
 
开发者ID:justor,项目名称:elasticsearch_my,代码行数:7,代码来源:XMoreLikeThis.java

示例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;
}
 
开发者ID:justor,项目名称:elasticsearch_my,代码行数:6,代码来源:BlendedTermQueryTests.java

示例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);
}
 
开发者ID:justor,项目名称:elasticsearch_my,代码行数:7,代码来源:SimilarityServiceTests.java

示例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));
}
 
开发者ID:justor,项目名称:elasticsearch_my,代码行数:7,代码来源:SimilarityTests.java

示例12: RelevancyFeedback

import org.apache.lucene.search.similarities.ClassicSimilarity; //导入依赖的package包/类
/**
 * Constructor requiring an IndexReader.
 */
public RelevancyFeedback(IndexReader ir) {
    this(ir, new ClassicSimilarity());
}
 
开发者ID:DiceTechJobs,项目名称:RelevancyFeedback,代码行数:7,代码来源:RelevancyFeedback.java

示例13: MoreLikeThis

import org.apache.lucene.search.similarities.ClassicSimilarity; //导入依赖的package包/类
/**
 * Constructor requiring an IndexReader.
 */
public MoreLikeThis(IndexReader ir) {
    this(ir, new ClassicSimilarity());
}
 
开发者ID:DiceTechJobs,项目名称:SolrPlugins,代码行数:7,代码来源:MoreLikeThis.java


注:本文中的org.apache.lucene.search.similarities.ClassicSimilarity类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。