社区
Java EE
帖子详情
使用Lucene对数据库进行索引的设计
yoo_cc
2009-08-18 02:47:21
有一个张表, (id, title, content...)
现在想用Lucene对这张表建索引,
一种设计是,建索引时,把TITLE等需要的信息保存在索引中,
在搜索时,全部读出.不需要再查一次数据库.
第二种设计是, 建索引时,只保存ID,
搜索时,读出ID,再到数据库,读出内容.
搜索时,分页读出20条信息, 记录数量100w.
两种设计,哪一个才是高效的设计?或者还有其它的方法.谢谢
...全文
152
8
打赏
收藏
使用Lucene对数据库进行索引的设计
有一个张表, (id, title, content...) 现在想用Lucene对这张表建索引, 一种设计是,建索引时,把TITLE等需要的信息保存在索引中, 在搜索时,全部读出.不需要再查一次数据库. 第二种设计是, 建索引时,只保存ID, 搜索时,读出ID,再到数据库,读出内容. 搜索时,分页读出20条信息, 记录数量100w. 两种设计,哪一个才是高效的设计?或者还有其它的方法.谢谢
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
zhangersong
2009-12-30
打赏
举报
回复
帮顶
itdana
2009-12-18
打赏
举报
回复
顶
howsun_zh
2009-12-17
打赏
举报
回复
[Quote=引用 5 楼 chdw 的回复:]
你第二种设计还有索引的意义吗?如果只保存ID,那么还不如直接访问数据库算了
你应该将所有需要搜索用字段全部建索引了(但是需要根据字段区分是否需要分词和存储),只是为了搜索出结果后显示用的字段可以不建索引。
[/Quote]
对,是这种方案。搜索结果是个列表,查看单一结果才到数据库检索该结果的全部信息。因此只要将搜索结果列表要显示的数据用Lucene存起来(例如id,title),其它只建索引不存储。
ChDw
2009-12-17
打赏
举报
回复
你第二种设计还有索引的意义吗?如果只保存ID,那么还不如直接访问数据库算了
你应该将所有需要搜索用字段全部建索引了(但是需要根据字段区分是否需要分词和存储),只是为了搜索出结果后显示用的字段可以不建索引。
sutine
2009-12-17
打赏
举报
回复
第一种设计检索的时候只读一次索引数据,访问磁盘一次。
第二种设计检索时访问磁盘一次,读数据库时又访问磁盘一次。
不考虑缓存情况下,一般第一种较快,缺点是要把数据库中的title数据在索引中又存一份,有一定的空间开销,并且索引中title的更新需要在重建索引时才能更新,不好做到实时更新。
guodong66
2009-09-30
打赏
举报
回复
顶顶。。。。。jf
shuizuyizu
2009-09-30
打赏
举报
回复
可以在数据库中进行
如一宝宝
2009-08-18
打赏
举报
回复
别人在怎么说都没用, 你得自己把两种方式都试一试, 然后用测试数据说话
使用
lucene
实现对
数据库
的
索引
这是一个结合
Lucene
对
数据库
索引
的一个真正的实例。它反应了
Lucene
的基础原理
利用
Lucene
.NET建立SQL
数据库
记录
索引
文件程序C#源代码(包含
数据库
结构)
对初学
使用
dotlucent作站内检索的比较有帮助。 利用dot
lucene
为网站做的
索引
文件的应用程序。
数据库
源是SQL Server,项目是...应用程序界面可以配置
数据库
链接,生成报告,定时执行增量
索引
,对单条
索引
进行
更新操作。
使用
Lucene
为
数据库
建立
索引
一,
lucene
中比较基础的建立
索引
步骤(资料:http://www.ourys.com/post/
lucene
3-0_database_index.html) 1.指定目录
索引
2.创建Directory对象(参数是存放
索引
的File类型,根据File的存放地点选择创建类) ...
lucene
索引
和
数据库
索引
的比较
1、
数据库
索引
就是B+树了 2、
Lucene
索引
就是倒排
索引
了 3、现在想确认的一点是,
Lucene
中对Key的
索引
结构是不是也用的B+树? 4、找了些资料知道了,
Lucene
对Key的
索引
没有用到B+树,而是按字典序
进行
排列,而有增量...
用
Lucene
.net对
数据库
建立
索引
及搜索
用
Lucene
.net对
数据库
建立
索引
及搜索 最近我一直在研究
Lucene
.net ,发现
Lucene
.net对
数据库
方面建
索引
的文章在网上很少见,其实它是可以对
数据库
进行
索引
的,我闲着没事,写了个测试程序,竟然成功了, 可以实现对...
Java EE
67,515
社区成员
225,878
社区内容
发帖
与我相关
我的任务
Java EE
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
复制链接
扫一扫
分享
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章