# lucene-demo **Repository Path**: MissJin/lucene-demo ## Basic Information - **Project Name**: lucene-demo - **Description**: lucene案例 lucene-demo,支持springboot2.6 、lucene9、mybatis-plus3.5、mysql8;实现中文分词,索引文件入库db(实现了jdbcDirectory) - **Primary Language**: Unknown - **License**: GPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 0 - **Created**: 2025-05-15 - **Last Updated**: 2025-06-25 ## Categories & Tags **Categories**: Uncategorized **Tags**: Lucene, SpringBoot, 数据库存在索引, lucene9 ## README ### lucene-demo 使用 lucene-demo 使用lucene-core-9.9.2.jar, * 结合 mybatis-plus 实现了lucene的索引存储在数据库中,扩展了lucene索引文件只能存储在 FSDirectory 的问题( 即:本地文件系统存lucene储索引文件,在多机环境无法共享索引的问题) * 结合 ik-analyzer 实现中文分词, 可自定义分词规则(修改: ext.dic 和 stopword.dic 文件) ### 使用案例 #### 1.单元测试 - com.xbrother.utils.LuceneUtilTest.test_demo ```java @Test void test_demo() throws Exception { LuceneUtil.demo(); } ``` ![](img/img-1.png) - com.xbrother.utils.LuceneUtilTest.test_ikDemo ```java @Test void test_ikDemo() throws Exception { LuceneUtil.ikDemo(); } ``` ![](img/img-1-1.png) #### 2.索引文件存储在数据库中的测试 - com.xbrother.lucene.controller.LuceneTestController.test ```http request ### 接口测试 GET http://localhost:8080/api/v1/test/ ``` > 接口日志 ![](img/img-2-1.png) > 数据库数据 ![](img/img-2-2.png) #### 实现原理 - 自定义 一个DbDirectory 覆写 Directory中的方法,将 Lucene 索引文件存储到数据库中。