Hello,World

Lucene9.10.0的新特性

回复

Charele 回复了问题 • 1 人关注 • 3 个回复 • 487 次浏览 • 14 小时前 • 来自相关话题

Lucene里面的bloom过滤

回复

Charele 回复了问题 • 1 人关注 • 7 个回复 • 957 次浏览 • 14 小时前 • 来自相关话题

TieredMergePolicy中的为什么当hitTooLarge为true时,skew设为最优值

Charele 回复了问题 • 2 人关注 • 1 个回复 • 919 次浏览 • 2023-08-16 23:34 • 来自相关话题

跑lucene的单测有点问题,谁知道怎么处理

回复

zhaocheng 发起了问题 • 1 人关注 • 0 个回复 • 1054 次浏览 • 2022-02-18 09:41 • 来自相关话题

如何保证Lucene创建的索引数据的安全性?

tongchuan1992 回复了问题 • 2 人关注 • 1 个回复 • 1019 次浏览 • 2021-07-27 16:58 • 来自相关话题

lucene 或者 es中不存储原字段的应用场景是什么呢???

Charele 回复了问题 • 3 人关注 • 2 个回复 • 2341 次浏览 • 2020-07-22 15:32 • 来自相关话题

es里的document的"_id"和org.apache.lucene.search.ScoreDoc.doc是什么关系

Charele 回复了问题 • 3 人关注 • 2 个回复 • 2808 次浏览 • 2020-07-22 15:47 • 来自相关话题

修改Lucene源码

ES1314 回复了问题 • 2 人关注 • 1 个回复 • 2247 次浏览 • 2019-05-17 09:18 • 来自相关话题

lucence如何进行分页

rochy 回复了问题 • 2 人关注 • 1 个回复 • 2529 次浏览 • 2019-03-05 09:23 • 来自相关话题

lucence构建索引几分钟后报错

回复

lvwendong 发起了问题 • 1 人关注 • 0 个回复 • 2122 次浏览 • 2019-03-01 16:43 • 来自相关话题

lucene倒排索引关于数据压缩的问题

zqc0512 回复了问题 • 6 人关注 • 3 个回复 • 4294 次浏览 • 2018-09-17 09:02 • 来自相关话题

Lucene用LongPoint或者StringField或者IntPoint做主键,哪个效率更高?

回复

codepub 发起了问题 • 1 人关注 • 0 个回复 • 2883 次浏览 • 2018-04-23 17:00 • 来自相关话题

一个简单的Lucene工具类,通过注释的方式来配置构建索引的字段。提供新建索引、查找、删除、更新方法,支持分页。

pengshaojie 发表了文章 • 6 个评论 • 3060 次浏览 • 2018-02-12 10:23 • 来自相关话题

代码地址:https://gitee.com/shaojiepeng/wsm-lucene
 ### wsm-lucene
一个简单的Lucene工具类,通过注释的方式来配置构建索引的字段。提供新建索引、查找、删除、更新方法,支持分页。

### 所需jar包
1. lucene-core:2.4.0
2. lucene-analyzers:2.4.1
3. commons-logging:1.2

### 背景
以前在做某个feature的时候,鉴于存储在DB中的数据量过大,故使用Lucene来优化查找性能。
相信大家在某些场景下会把DB中的数据读出来,建索引来优化查找。那么这个工具类就比较适合这些场景了。

### 如何使用
 **从附件中下载jar包直接导入到项目中,或者下载此Maven项目的源码,使用项目依赖的方式导入你的项目。** 

1. 通过注释的方式配置需要构建索引的model类

```
 **@IndexClass** :注释,说明此model类需要构建索引
 **indexDirPath** :索引所存放的物理位置,如:"D:/Index"

 **@IndexField** :注释,说明此字段需要构建索引
 **fieldStore** :Lucene中的Field.Store同义,不懂请自行查询资料
 **fieldIndex** :Lucene中的Field.Index同义,不懂请自行查询资料
```

173117_4fa2ac08_980808.png



2. 创建索引
```

IndexService indexService = new IndexServiceImpl();
/** 构建索引的接口
 * List:model的集合
 * Class: model的class
 *
 * return boolean
**/
indexService.buildIndex(List, Class)
```

173148_bb488cf0_980808.png



3.查找
```
ArrayList<SearchParamModel> searchParams = new ArrayList<>();
/**添加查询的条件,如果有多个查询条件,则添加SearchParamModel
 * fieldName:需要查找的字段,即model中的成员变量
 * fieldValue:需要查找字段的值,这个不解释
 * BooleanType:Lucene中BooleanClause.Occur值,不懂请自行查询资料
**/
searchParams.add(new SearchParamModel(fieldName, fieldValue, BooleanType));
IndexService indexService = new IndexServiceImpl();
/** 查询的接口
 * searchParams:不解释
 * Class: model的class
 *
 * return model的集合
**/
List objs = indexService.search(searchParams, Class);
```

173219_367ef1d0_980808.png




IndexService中还支持update, delete和分页查找的方法,请自行查阅代码。


觉得不错,请点个赞吧。

倒排索引删除文档

Charele 回复了问题 • 2 人关注 • 1 个回复 • 3537 次浏览 • 2020-07-22 15:51 • 来自相关话题

Lucene如何实现SpanAndQuery,即SpanTermQuery与逻辑?

回复

codepub 发起了问题 • 1 人关注 • 0 个回复 • 3226 次浏览 • 2017-12-05 11:15 • 来自相关话题