import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.Reader;
import java.util.Date;
import java.util.*;import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.analysis.standard.StandardAnalyzer;
import org.apache.lucene.document.Document;
import org.apache.lucene.document.Field;
import org.apache.lucene.index.IndexWriter;
import org.apache.lucene.store.Directory;
import org.apache.lucene.search.*;
import org.apache.lucene.queryParser.QueryParser;
import org.apache.lucene.queryParser.ParseException;
import org.apache.lucene.queryParser.*;
import org.apache.lucene.index.CorruptIndexException ;public class SearchMysql
{
public static void main(String[] args) throws IOException
{
String str = "good";
try{
SearchMysql s = new SearchMysql();
s.getQueryDate(str);
}catch(IOException e) {
System.out.println(e.getMessage());
}
} public ArrayList getQueryDate(String info) throws CorruptIndexException,IOException,org.apache.lucene.queryParser.ParseException { ArrayList<Document> doc = new ArrayList<Document>();
String queryString = info; IndexSearcher searcher = new IndexSearcher("c:\\hujiong");
Analyzer analyzer = new StandardAnalyzer();
Query query = null; if (searcher != null) {
// 合并你搜索的字段, 增强你的搜索能力!!
BooleanClause.Occur[] clauses = { BooleanClause.Occur.SHOULD, BooleanClause.Occur.SHOULD };
query = MultiFieldQueryParser.parse(queryString, new String[] { "id", "name" }, clauses, analyzer);  
TopDocCollector collector = new TopDocCollector(5); // 设置返回的最大数目,就返回前100条
searcher.search(query, collector);
ScoreDoc[] hits1 = collector.topDocs().scoreDocs; // 返回的结果他是一个数组
if (hits1.length > 0) {
for (int i = 0; i < hits1.length; i++) {
 Document doc1 = searcher.doc(hits1[i].doc);

// 这是从这个返回的数组里面迭代每一个数据,  它的值是Document
 doc.add(doc1);
 System.out.println(doc1.get("id") + "-----id");
 System.out.println(doc1.get("name") + "-------name");
} } else {
System.out.println("没有数据");
}//end if
}//end if
return doc;
}
}