⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 multisearchertest.java

📁 LuceneInAction配套源码,LuceneInAction是对lucene api的详细讲解及具体应用.此源码即应用例子
💻 JAVA
字号:
package lia.advsearching;import org.apache.lucene.analysis.Analyzer;import org.apache.lucene.analysis.WhitespaceAnalyzer;import org.apache.lucene.document.Document;import org.apache.lucene.document.Field;import org.apache.lucene.index.IndexWriter;import org.apache.lucene.index.Term;import org.apache.lucene.search.Hits;import org.apache.lucene.search.IndexSearcher;import org.apache.lucene.search.MultiSearcher;import org.apache.lucene.search.Query;import org.apache.lucene.search.RangeQuery;import org.apache.lucene.store.Directory;import org.apache.lucene.store.RAMDirectory;import junit.framework.TestCase;public class MultiSearcherTest extends TestCase {  private IndexSearcher[] searchers;  public void setUp() throws Exception {    String[] animals = { "aardvark", "beaver", "coati",                       "dog", "elephant", "frog", "gila monster",                       "horse", "iguana", "javelina", "kangaroo",                       "lemur", "moose", "nematode", "orca",                       "python", "quokka", "rat", "scorpion",                       "tarantula", "uromastyx", "vicuna",                       "walrus", "xiphias", "yak", "zebra"};    Analyzer analyzer = new WhitespaceAnalyzer();    Directory aTOmDirectory = new RAMDirectory();    Directory nTOzDirectory = new RAMDirectory();    IndexWriter aTOmWriter = new IndexWriter(aTOmDirectory,                                            analyzer, true);    IndexWriter nTOzWriter = new IndexWriter(nTOzDirectory,                                            analyzer, true);    for (int i=0; i < animals.length; i++) {      Document doc = new Document();      String animal = animals[i];      doc.add(Field.Keyword("animal", animal));      if (animal.compareToIgnoreCase("n") < 0) {        aTOmWriter.addDocument(doc);      } else {        nTOzWriter.addDocument(doc);      }    }    aTOmWriter.close();    nTOzWriter.close();    searchers = new IndexSearcher[2];    searchers[0] = new IndexSearcher(aTOmDirectory);    searchers[1] = new IndexSearcher(nTOzDirectory);  }  public void testMulti() throws Exception {    MultiSearcher searcher = new MultiSearcher(searchers);    // range spans documents across both indexes    Query query = new RangeQuery(new Term("animal", "h"),                                 new Term("animal", "t"), true);    Hits hits = searcher.search(query);    assertEquals("tarantula not included", 12, hits.length());  }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -