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


Java Collector.collect方法代码示例

本文整理汇总了Java中org.apache.lucene.search.Collector.collect方法的典型用法代码示例。如果您正苦于以下问题:Java Collector.collect方法的具体用法?Java Collector.collect怎么用?Java Collector.collect使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.apache.lucene.search.Collector的用法示例。


在下文中一共展示了Collector.collect方法的13个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: collectHit

import org.apache.lucene.search.Collector; //导入方法依赖的package包/类
private void collectHit(Collector collector, Collector[] sidewaysCollectors) throws IOException {
  //if (DEBUG) {
  //  System.out.println("      hit");
  //}

  collector.collect(collectDocID);
  if (drillDownCollector != null) {
    drillDownCollector.collect(collectDocID);
  }

  // TODO: we could "fix" faceting of the sideways counts
  // to do this "union" (of the drill down hits) in the
  // end instead:

  // Tally sideways counts:
  for (int dim=0;dim<sidewaysCollectors.length;dim++) {
    sidewaysCollectors[dim].collect(collectDocID);
  }
}
 
开发者ID:europeana,项目名称:search,代码行数:20,代码来源:DrillSidewaysScorer.java

示例2: score

import org.apache.lucene.search.Collector; //导入方法依赖的package包/类
@Override
public boolean score(Collector collector, int max) throws IOException {
  FakeScorer fakeScorer = new FakeScorer();
  collector.setScorer(fakeScorer);
  if (doc == -1) {
    doc = nextDocOutOfOrder();
  }
  while(doc < max) {
    fakeScorer.doc = doc;
    fakeScorer.score = scores[ords[scoreUpto]];
    collector.collect(doc);
    doc = nextDocOutOfOrder();
  }

  return doc != DocsEnum.NO_MORE_DOCS;
}
 
开发者ID:europeana,项目名称:search,代码行数:17,代码来源:TermsIncludingScoreQuery.java

示例3: testNullCollectors

import org.apache.lucene.search.Collector; //导入方法依赖的package包/类
@Test
public void testNullCollectors() throws Exception {
  // Tests that the collector rejects all null collectors.
  try {
    MultiCollector.wrap(null, null);
    fail("only null collectors should not be supported");
  } catch (IllegalArgumentException e) {
    // expected
  }

  // Tests that the collector handles some null collectors well. If it
  // doesn't, an NPE would be thrown.
  Collector c = MultiCollector.wrap(new DummyCollector(), null, new DummyCollector());
  assertTrue(c instanceof MultiCollector);
  assertTrue(c.acceptsDocsOutOfOrder());
  c.collect(1);
  c.setNextReader(null);
  c.setScorer(null);
}
 
开发者ID:europeana,项目名称:search,代码行数:20,代码来源:MultiCollectorTest.java

示例4: testCollector

import org.apache.lucene.search.Collector; //导入方法依赖的package包/类
@Test
public void testCollector() throws Exception {
  // Tests that the collector delegates calls to input collectors properly.

  // Tests that the collector handles some null collectors well. If it
  // doesn't, an NPE would be thrown.
  DummyCollector[] dcs = new DummyCollector[] { new DummyCollector(), new DummyCollector() };
  Collector c = MultiCollector.wrap(dcs);
  assertTrue(c.acceptsDocsOutOfOrder());
  c.collect(1);
  c.setNextReader(null);
  c.setScorer(null);

  for (DummyCollector dc : dcs) {
    assertTrue(dc.acceptsDocsOutOfOrderCalled);
    assertTrue(dc.collectCalled);
    assertTrue(dc.setNextReaderCalled);
    assertTrue(dc.setScorerCalled);
  }

}
 
开发者ID:europeana,项目名称:search,代码行数:22,代码来源:MultiCollectorTest.java

示例5: collectHit

import org.apache.lucene.search.Collector; //导入方法依赖的package包/类
private void collectHit(Collector collector, Collector[] sidewaysCollectors, Collector[] sidewaysCollectors2) throws IOException {
  //if (DEBUG) {
  //  System.out.println("      hit");
  //}

  collector.collect(collectDocID);
  if (drillDownCollector != null) {
    drillDownCollector.collect(collectDocID);
  }

  // TODO: we could "fix" faceting of the sideways counts
  // to do this "union" (of the drill down hits) in the
  // end instead:

  // Tally sideways counts:
  for (int i=0;i<sidewaysCollectors.length;i++) {
    sidewaysCollectors[i].collect(collectDocID);
  }
  for (int i=0;i<sidewaysCollectors2.length;i++) {
    sidewaysCollectors2[i].collect(collectDocID);
  }
}
 
开发者ID:yintaoxue,项目名称:read-open-source-code,代码行数:23,代码来源:DrillSidewaysScorer.java

示例6: collect

import org.apache.lucene.search.Collector; //导入方法依赖的package包/类
public void collect(int docId) throws IOException {
  int doc = docId + docBase;
  int ord = docValues.getOrd(doc);
  if (ord > -1 && groupBits.get(ord) && !collapsedSet.contains(doc)) {
    Collector c = groups.get(ord);
    c.collect(docId);
  }
}
 
开发者ID:europeana,项目名称:search,代码行数:9,代码来源:ExpandComponent.java

示例7: score

import org.apache.lucene.search.Collector; //导入方法依赖的package包/类
/**
 * Scores and collects all matching documents.
 * 
 * @param collector
 *            The collector to which all matching documents are passed
 *            through.
 */
@Override
public void score(Collector collector) throws IOException {
	collector.setScorer(this);
	while ((doc = countingSumScorer.nextDoc()) != NO_MORE_DOCS) {
		collector.collect(doc);
	}
}
 
开发者ID:quhfus,项目名称:DoSeR,代码行数:15,代码来源:LearnToRankScorer.java

示例8: score

import org.apache.lucene.search.Collector; //导入方法依赖的package包/类
@Override
public void score(Collector collector) throws IOException {
  collector.setScorer(this);
  for (int doc = nextDocOutOfOrder(); doc != NO_MORE_DOCS; doc = nextDocOutOfOrder()) {
    collector.collect(doc);
  }
}
 
开发者ID:yintaoxue,项目名称:read-open-source-code,代码行数:8,代码来源:TermsIncludingScoreQuery.java

示例9: collect

import org.apache.lucene.search.Collector; //导入方法依赖的package包/类
@Override
public void collect(int doc) throws IOException {
  for (Collector c : collectors) {
    c.collect(doc);
  }
}
 
开发者ID:lamsfoundation,项目名称:lams,代码行数:7,代码来源:MultiCollector.java

示例10: collectNearMiss

import org.apache.lucene.search.Collector; //导入方法依赖的package包/类
private void collectNearMiss(Collector sidewaysCollector) throws IOException {
  //if (DEBUG) {
  //  System.out.println("      missingDim=" + dim);
  //}
  sidewaysCollector.collect(collectDocID);
}
 
开发者ID:europeana,项目名称:search,代码行数:7,代码来源:DrillSidewaysScorer.java

示例11: getDocSet

import org.apache.lucene.search.Collector; //导入方法依赖的package包/类
/**
 * Returns the set of document ids matching all queries.
 * This method is cache-aware and attempts to retrieve the answer from the cache if possible.
 * If the answer was not cached, it may have been inserted into the cache as a result of this call.
 * This method can handle negative queries.
 * <p>
 * The DocSet returned should <b>not</b> be modified.
 */
public DocSet getDocSet(List<Query> queries) throws IOException {

  if(queries != null) {
    for(Query q : queries) {
      if(q instanceof ScoreFilter) {
        return getDocSetScore(queries);
      }
    }
  }

  ProcessedFilter pf = getProcessedFilter(null, queries);
  if (pf.answer != null) return pf.answer;


  DocSetCollector setCollector = new DocSetCollector(maxDoc()>>6, maxDoc());
  Collector collector = setCollector;
  if (pf.postFilter != null) {
    pf.postFilter.setLastDelegate(collector);
    collector = pf.postFilter;
  }

  for (final AtomicReaderContext leaf : leafContexts) {
    final AtomicReader reader = leaf.reader();
    final Bits liveDocs = reader.getLiveDocs();   // TODO: the filter may already only have liveDocs...
    DocIdSet idSet = null;
    if (pf.filter != null) {
      idSet = pf.filter.getDocIdSet(leaf, liveDocs);
      if (idSet == null) continue;
    }
    DocIdSetIterator idIter = null;
    if (idSet != null) {
      idIter = idSet.iterator();
      if (idIter == null) continue;
    }

    collector.setNextReader(leaf);
    int max = reader.maxDoc();

    if (idIter == null) {
      for (int docid = 0; docid<max; docid++) {
        if (liveDocs != null && !liveDocs.get(docid)) continue;
        collector.collect(docid);
      }
    } else {
      for (int docid = -1; (docid = idIter.advance(docid+1)) < max; ) {
        collector.collect(docid);
      }
    }
  }

  if(collector instanceof DelegatingCollector) {
    ((DelegatingCollector) collector).finish();
  }

  return setCollector.getDocSet();
}
 
开发者ID:europeana,项目名称:search,代码行数:65,代码来源:SolrIndexSearcher.java

示例12: getDocSet

import org.apache.lucene.search.Collector; //导入方法依赖的package包/类
/**
 * Returns the set of document ids matching all queries.
 * This method is cache-aware and attempts to retrieve the answer from the cache if possible.
 * If the answer was not cached, it may have been inserted into the cache as a result of this call.
 * This method can handle negative queries.
 * <p>
 * The DocSet returned should <b>not</b> be modified.
 */
public DocSet getDocSet(List<Query> queries) throws IOException {
  ProcessedFilter pf = getProcessedFilter(null, queries);
  if (pf.answer != null) return pf.answer;


  DocSetCollector setCollector = new DocSetCollector(maxDoc()>>6, maxDoc());
  Collector collector = setCollector;
  if (pf.postFilter != null) {
    pf.postFilter.setLastDelegate(collector);
    collector = pf.postFilter;
  }

  for (final AtomicReaderContext leaf : leafContexts) {
    final AtomicReader reader = leaf.reader();
    final Bits liveDocs = reader.getLiveDocs();   // TODO: the filter may already only have liveDocs...
    DocIdSet idSet = null;
    if (pf.filter != null) {
      idSet = pf.filter.getDocIdSet(leaf, liveDocs);
      if (idSet == null) continue;
    }
    DocIdSetIterator idIter = null;
    if (idSet != null) {
      idIter = idSet.iterator();
      if (idIter == null) continue;
    }

    collector.setNextReader(leaf);
    int max = reader.maxDoc();

    if (idIter == null) {
      for (int docid = 0; docid<max; docid++) {
        if (liveDocs != null && !liveDocs.get(docid)) continue;
        collector.collect(docid);
      }
    } else {
      for (int docid = -1; (docid = idIter.advance(docid+1)) < max; ) {
        collector.collect(docid);
      }
    }
  }

  return setCollector.getDocSet();
}
 
开发者ID:pkarmstr,项目名称:NYBC,代码行数:52,代码来源:SolrIndexSearcher.java

示例13: getDocSet

import org.apache.lucene.search.Collector; //导入方法依赖的package包/类
/**
 * Returns the set of document ids matching all queries. This method is cache-aware and attempts
 * to retrieve the answer from the cache if possible. If the answer was not cached, it may have
 * been inserted into the cache as a result of this call. This method can handle negative
 * queries.
 * <p>
 * The DocSet returned should <b>not</b> be modified.
 */
public DocSet getDocSet(List<Query> queries) throws IOException {
	ProcessedFilter pf = getProcessedFilter(null, queries);
	if(pf.answer != null)
		return pf.answer;

	DocSetCollector setCollector = new DocSetCollector(maxDoc() >> 6, maxDoc());
	Collector collector = setCollector;
	if(pf.postFilter != null) {
		pf.postFilter.setLastDelegate(collector);
		collector = pf.postFilter;
	}

	for(final AtomicReaderContext leaf : leafContexts) {
		final AtomicReader reader = leaf.reader();
		final Bits liveDocs = reader.getLiveDocs(); // TODO: the filter may already only have liveDocs...
		DocIdSet idSet = null;
		if(pf.filter != null) {
			idSet = pf.filter.getDocIdSet(leaf, liveDocs);
			if(idSet == null)
				continue;
		}
		DocIdSetIterator idIter = null;
		if(idSet != null) {
			idIter = idSet.iterator();
			if(idIter == null)
				continue;
		}

		collector.setNextReader(leaf);
		int max = reader.maxDoc();

		if(idIter == null) {
			for(int docid = 0; docid < max; docid++) {
				if(liveDocs != null && !liveDocs.get(docid))
					continue;
				collector.collect(docid);
			}
		} else {
			for(int docid = -1; (docid = idIter.advance(docid + 1)) < max;) {
				collector.collect(docid);
			}
		}
	}

	return setCollector.getDocSet();
}
 
开发者ID:netboynb,项目名称:search-core,代码行数:55,代码来源:SolrIndexSearcher.java


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