lucene入门教程

2025-11-23 02:27:53

1、百度搜索luence进入官网下载。

lucene入门教程

2、点击下载luence压缩包。

lucene入门教程

3、引入luence必须的jar到你的web工程。

lucene入门教程

4、将其jar放入到项目的lib目录下,图中的index目录是luence定义的检索目录。

lucene入门教程

5、创建luence全文检索(复制如下代码到myeclipse中ctrl+shift+o,ctrl+shift+f 如果快捷键失灵一般是和输入法快捷键冲突),代码如下:

@Test    public void createIndex() throws Exception {        // 索引存放位置        Directory directory = FSDirectory.open(new File("index/"));        // 版本        Version version = Version.LUCENE_44;        // 分词器        Analyzer analyzer = new StandardAnalyzer(version);        // 索引配置        IndexWriterConfig indexWriterConfig = new IndexWriterConfig(version,                analyzer);        // 创建操作索引对象        IndexWriter indexWriter = new IndexWriter(directory, indexWriterConfig);        // 创建document        Document document = new Document();        IndexableField intField = new IntField("age", 123, Store.YES);        IndexableField strField = new StringField("name", "张三", Store.YES);        IndexableField txtField = new TextField("content", "张三是个教师!", Store.YES);        document.add(intField);        document.add(strField);        document.add(txtField);        indexWriter.addDocument(document);        indexWriter.close();    }

lucene入门教程

6、从luence索引文件中检索数据,代码如下:

@Test    public void searchIndex() throws Exception {        // 索引存放位置        Directory directory = FSDirectory.open(new File("index/"));        IndexReader indexReader = DirectoryReader.open(directory);        IndexSearcher indexSearcher = new IndexSearcher(indexReader);        Query query = new TermQuery(new Term("content", "教"));        TopDocs topDocs = indexSearcher.search(query, 10);        int count = topDocs.totalHits;        System.out.println("count:" + count);        ScoreDoc[] scoreDocs = topDocs.scoreDocs;        Document document = null;        for (ScoreDoc scoreDoc : scoreDocs) {            int docId = scoreDoc.doc;            document = indexSearcher.doc(docId);            String age = document.get("age");            String name = document.get("name");            String content = document.get("content");            System.out.println("age:" + age + ",name:" + name + ",content:"                    + content);        }    }

lucene入门教程

7、在运行完第一步创建之后在运行查询代码,显示如下结果。

lucene入门教程

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢