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

📄 specialsfiltertest.java

📁 Lucene in Action 中文版代码下载
💻 JAVA
字号:
package lia.extsearch.filters;import lia.common.LiaTestCase;import org.apache.lucene.search.Filter;import org.apache.lucene.search.Hits;import org.apache.lucene.search.WildcardQuery;import org.apache.lucene.search.FilteredQuery;import org.apache.lucene.search.TermQuery;import org.apache.lucene.search.BooleanQuery;import org.apache.lucene.search.RangeQuery;import org.apache.lucene.search.IndexSearcher;import org.apache.lucene.search.Query;import org.apache.lucene.index.Term;public class SpecialsFilterTest extends LiaTestCase {  private Query allBooks;  private IndexSearcher searcher;  protected void setUp() throws Exception {    super.setUp();    allBooks = new RangeQuery(new Term("pubmonth","190001"),                                   new Term("pubmonth", "200512"),                                   true);    searcher = new IndexSearcher(directory);  }  public void testCustomFilter() throws Exception {    String[] isbns = new String[] {"0060812451", "0465026567"};    SpecialsAccessor accessor = new MockSpecialsAccessor(isbns);    Filter filter = new SpecialsFilter(accessor);    Hits hits = searcher.search(allBooks, filter);    assertEquals("the specials", isbns.length, hits.length());  }  public void testFilteredQuery() throws Exception {    String[] isbns = new String[] {"0854402624"};  // Steiner    SpecialsAccessor accessor = new MockSpecialsAccessor(isbns);    Filter filter = new SpecialsFilter(accessor);    WildcardQuery educationBooks =        new WildcardQuery(new Term("category", "*education*"));    FilteredQuery edBooksOnSpecial =        new FilteredQuery(educationBooks, filter);    TermQuery logoBooks =        new TermQuery(new Term("subject", "logo"));    BooleanQuery logoOrEdBooks = new BooleanQuery();    logoOrEdBooks.add(logoBooks, false, false);    logoOrEdBooks.add(edBooksOnSpecial, false, false);    Hits hits = searcher.search(logoOrEdBooks);    System.out.println(logoOrEdBooks.toString());    assertEquals("Papert and Steiner", 2, hits.length());  }}

⌨️ 快捷键说明

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