鍍金池/ 教程/ 大數據/ Lucene MatchAllDocsQuery類
Lucene TermRangeQuery類
Lucene排序
Lucene Query類
Lucene搜索操作
Lucene TokenStream
Lucene IndexWriter類
Lucene Term類
Lucene Token
Lucene索引操作
Lucene Field選項
Lucene BooleanQuery類
Lucene StandardAnalyzer類
Lucene字段
Lucene添加文檔操作
Lucene環(huán)境設置
Lucene Searching類
Lucene StopAnalyzer類
Lucene第一個應用程序
Lucene MatchAllDocsQuery類
Lucene IndexSearcher類
Lucene索引類
Lucene更新文檔操作
Lucene教程
Lucene PrefixQuery類
Lucene Analyzer類
Lucene TopDocs類
Lucene TermQuery類
Lucene文檔
Lucene查詢編程
Lucene WildcardQuery類
Lucene WhitespaceAnalyzer
Lucene SimpleAnalyzer類
Lucene目錄
Lucene刪除文檔操作
Lucene索引過程
Lucene FuzzyQuery類
Lucene PhraseQuery類
Lucene分析

Lucene MatchAllDocsQuery類

MatchAllDocsQuery作為顧名思義匹配的所有文件。

類聲明

以下是org.apache.lucene.search.MatchAllDocsQuery類的聲明:

public class MatchAllDocsQuery
   extends Query

類的構造函數

S.N. 構造函數和說明
1 MatchAllDocsQuery() 
2 MatchAllDocsQuery(String normsField) 

類方法

S.N. 方法 & 描述
1 Weight createWeight(Searcher searcher)
構造一個適當的權重實現這個查詢。
2 boolean equals(Object o) 
3 void extractTerms(Set<Term> terms)
添加在此查詢到設定的條款發(fā)生的所有條款。
4 int hashCode() 
5 String toString(String field)
打印查詢字符串,使用字段假定為默認的字段中和省略。

方法繼承

這個類從以下類繼承的方法:

  • org.apache.lucene.search.Query

  • java.lang.Object

使用

private void searchUsingMatchAllDocsQuery(String searchQuery)
   throws IOException, ParseException{
   searcher = new Searcher(indexDir);
   long startTime = System.currentTimeMillis();
   //create the term query object
   Query query = new MatchAllDocsQuery(searchQuery);
   //do the search
   TopDocs hits = searcher.search(query);
   long endTime = System.currentTimeMillis();

   System.out.println(hits.totalHits +
      " documents found. Time :" + (endTime - startTime) + "ms");
   for(ScoreDoc scoreDoc : hits.scoreDocs) {
      Document doc = searcher.getDocument(scoreDoc);
      System.out.print("Score: "+ scoreDoc.score + " ");
      System.out.println("File: "+ doc.get(LuceneConstants.FILE_PATH));
   }
   searcher.close();
}

應用程序示例

讓我們創(chuàng)建一個測試Lucene的應用程序中使用MatchAllDocsQuery測試搜索。

步驟 描述
1 創(chuàng)建名稱為LuceneFirstApplication的項目在packagecom.yiibai.lucene下的Lucene用于解釋 Lucene應用程序理解搜索過程。
2 創(chuàng)建LuceneConstants.java和Searcher.java作為Lucene的解釋- 第一應用程序一章。保持其它文件不變。
3 創(chuàng)建LuceneTester.java如下所述。
4 清理和構建應用程序,以確保業(yè)務邏輯按要求工作。

LuceneConstants.java

這個類是用來提供可應用于示例應用程序中使用的各種常量。

package com.yiibai.lucene;

public class LuceneConstants {
   public static final String CONTENTS="contents";
   public static final String FILE_NAME="filename";
   public static final String FILE_PATH="filepath";
   public static final int MAX_SEARCH = 10;
}

Searcher.java

這個類用來讀取就使用Lucene庫的原始數據,并搜索數據的索引。

package com.yiibai.lucene;

import java.io.File;
import java.io.IOException;

import org.apache.lucene.analysis.standard.StandardAnalyzer;
import org.apache.lucene.document.Document;
import org.apache.lucene.index.CorruptIndexException;
import org.apache.lucene.queryParser.ParseException;
import org.apache.lucene.queryParser.QueryParser上一篇:Lucene WhitespaceAnalyzer下一篇:Lucene TermRangeQuery類