📄 lucene的一个入门例子.txt
字号:
1.定义StandardAnalyzer,IndexWriter对象
StandardAnalyzer analyzer = new StandardAnalyzer(stopStrs);
IndexWriter indexWriter = new IndexWriter("e:\\index", analyzer, true);
2.定义Document对象
Document doc = new Document(); //
doc.add(new Field("id", "Lucene", Field.Store.YES, Field.Index.NO));
doc.add(new Field("text", "Lucene入门与使用", Field.Store.YES,Field.Index.TOKENIZED));
3.对IndexWrite进行操作
indexWriter.addDocument(doc);
indexWriter.optimize();
indexWriter.close();
4.定义IndexSearcher,QueryParser 和Query 对象
IndexSearcher indexSearcher = new IndexSearcher("e:\\index");
QueryParser queryParser = new QueryParser("text", analyzer);
Query query=queryParser.parse("Lucene入门与使用");
5.取得结果
Hits hits = indexSearcher.search(query);
doc = hits.doc(i);
String id = doc.get("id");
下面是具体实现:
public static void main(String[] args) throws IOException, ParseException {
Analyzer analyzer = new StandardAnalyzer();
String keyWords = "开源软件";
IndexWriter indexWriter = new IndexWriter("e:\\index", analyzer, true);
Document docItem = new Document();
docItem.add(new Field("title", "Lucene入门与使用", Field.Store.YES,
Field.Index.NO));
docItem.add(new Field("content", "Lucene是一个开源软件,应用广泛...",
Field.Store.YES, Field.Index.TOKENIZED));
indexWriter.addDocument(docItem);
indexWriter.optimize();
indexWriter.close();
IndexSearcher indexSearcher = new IndexSearcher("e:\\index");
QueryParser queryParser = new QueryParser("content", analyzer);
Query query = queryParser.parse(keyWords);
Hits hits = indexSearcher.search(query);
Document hitDoc = null;
for (int i = 0; i < hits.length(); i++) {
hitDoc = hits.doc(i);
String title = hitDoc.get("title");
System.out.println("结果: " + keyWords + " 在文章:" + title);
}
indexSearcher.close();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -