基于3.5
package com.supben;
import java.io.File;
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.index.IndexWriterConfig;
import org.apache.lucene.store.FSDirectory;
import org.apache.lucene.util.Version;
/**
* 索引建立类
*
*/
public class IndexMaker {
private static File INDEX_DIR = new File("./index");// 索引文件夹
public static void make(String id, String name, String desc) {
try {
// 字段ID,可查询,不分词
Field ID = new Field("id", id, Field.Store.YES, Field.Index.NOT_ANALYZED);
// 字段NAME,可查询,分词
Field NAME = new Field("name", name, Field.Store.YES, Field.Index.ANALYZED);
// 字段描述,可查询,分词
Field DESC = new Field("desc", desc, Field.Store.YES, Field.Index.ANALYZED);
Document d = new Document();
d.add(ID);
d.add(NAME);
d.add(DESC);
IndexWriter iw = new IndexWriter(FSDirectory.open(INDEX_DIR), new IndexWriterConfig(Version.LUCENE_35,
new StandardAnalyzer(Version.LUCENE_35)));
iw.addDocument(d);
iw.close();
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
make("1", "shen yuhan", "god is a girl");
make("2", "shen chenglong", "this is man");
make("3", "li supben", "war3 tower rpg man");
make("4", "hu jintao", "is a dog");
}
}
package com.supben;
import java.io.File;
import org.apache.lucene.document.Document;
import org.apache.lucene.index.Term;
import org.apache.lucene.search.IndexSearcher;
import org.apache.lucene.search.ScoreDoc;
import org.apache.lucene.search.TermQuery;
import org.apache.lucene.search.TopDocs;
import org.apache.lucene.store.FSDirectory;
public class Searcher {
private static File INDEX_DIR = new File("./index");// 索引文件夹
public static void getAll() {
try {
IndexSearcher searcher = new IndexSearcher(FSDirectory.open(INDEX_DIR));
TermQuery query = new TermQuery(new Term("name", "shen"));
TopDocs topdocs = searcher.search(query, 10);
ScoreDoc[] hits = topdocs.scoreDocs;
for (ScoreDoc hit : hits) {
Document doc = searcher.doc(hit.doc);
String id = doc.get("id");
String name = doc.get("name");
System.out.println("查询的文档的id是:" + id + ",名称是:" + name);
}
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
getAll();
}
}
- 大小: 8.2 KB
分享到:
相关推荐
以上就是关于“lucune3.0 及高亮显示 所需的包及代码”这个主题的简要概述,具体实现细节和示例代码需要参考所提供的博客链接或解压后的"search"文件来获取。通过学习和实践这部分内容,开发者可以提升在信息检索和...
主要包含Lucene.net 学习笔记和 Lucene.net 系列的代码,一直一些简单的程序
《基于Lucene和盘古分词器的.NET全文检索实现》 在当今信息化时代,数据量日益庞大,如何快速、准确地从海量信息中搜索到所需内容成为了一个重要的问题。这就引出了全文检索技术,而Lucene作为一个强大的开源全文...
### Lucene概述 Lucene是一个高性能、全功能的文本搜索库,它被广泛应用于各种规模的应用程序之中。作为一款开源工具,Lucene提供了强大的搜索功能,使得开发者能够轻松地为自己的应用添加搜索功能。...