社区
Java
帖子详情
Lucene和关系数据库怎么结合?
shenpipi
2011-08-31 10:32:16
要开始一个项目,需要全文检索,另外还要针对一些字段做一些复杂的分析,这些分析又是Lucene之类的全文检索工具不好处理的,所以想使用Lucene+关系数据库来实现这个功能。
需要全文检索的字段放在Lucene中,不需要全文检索的放关系数据库中,请问这样做是不是合理?两者之间怎么关联?一些关联的查询又要怎么做?
请有经验的兄弟姐妹们指教一下。谢了。
...全文
550
13
打赏
收藏
Lucene和关系数据库怎么结合?
要开始一个项目,需要全文检索,另外还要针对一些字段做一些复杂的分析,这些分析又是Lucene之类的全文检索工具不好处理的,所以想使用Lucene+关系数据库来实现这个功能。 需要全文检索的字段放在Lucene中,不需要全文检索的放关系数据库中,请问这样做是不是合理?两者之间怎么关联?一些关联的查询又要怎么做? 请有经验的兄弟姐妹们指教一下。谢了。
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
13 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
安心逍遥
2011-09-05
打赏
举报
回复
hibernate search 用的人还是比较少的
compass 用的人还多点
除了lucene的资料多点 搜索引擎这里的资料都很少
uastation
2011-09-05
打赏
举报
回复
有做过这样的实例,给个思路吧:
从数据库读出数据来生成索引--->然后从索引中取出数据,这些数据用一个实体类保存,该实体不用保存在数据库中,如实体:Record类,这个实体只是保存搜索所存放的索引信息
thegodofwar
2011-09-04
打赏
举报
回复
一般都是数据库包含所有字段(包含你需要全文检索和不需要的),然后让lucene对你关心的字段建索引(还有决定哪些字段需要分词,哪些不要),不会完全分开的
shenpipi
2011-08-31
打赏
举报
回复
哪位能具体指点下去阅读Hibernate Search文档的哪些部分?
假设一个对象(表名:Object),有name和content属性,name不需要索引和全文检索,存到关系数据库中,content需要进行分词索引检索,存到Lucene里,采用Hibernate Search如何实现原来sql能完成的功能
select * from Object where name='' and content like '%key%'
以上只是简单的举个例子,并不是真正的模型。
shenpipi
2011-08-31
打赏
举报
回复
Hibernate Search是否真像1楼说的那样,是Lucene索引和数据库共同来储存的呢?我看了些Hibernate Search的东西,都只提到了Lucene这一部分,没有提到不需要进行全文索引的部分。看了看它的查询,也没见到能联合Lucene和关系数据库进行共同查询。
JavaAlpha
2011-08-31
打赏
举报
回复
1楼说的方法,你可以去找下相关的资料看看。就可以解决你的问题了。
shenpipi
2011-08-31
打赏
举报
回复
[Quote=引用 1 楼 zn85600301 的回复:]
那就看你要展示什么数据了
你可以将数据库中的主键连同要全文检索的信息 建立索引文件然后通过主键去查数据库
主要看业务逻辑和数据量
你去看看compass 和 HibernateSearch的资料 都是直接和数据库关联的
[/Quote]
假设,我在lucene里面放两个字段,一个叫全文,一个叫ID,其中ID里面存放对应的在关系数据库里的记录,这样我通过关键字在全文字段中查询,可以得到一堆ID,我怎么再根据这一堆ID去找关系数据库里的记录呢?难不成where id=1 or id=2 or ……?
zn85600301
2011-08-31
打赏
举报
回复
那就看你要展示什么数据了
你可以将数据库中的主键连同要全文检索的信息 建立索引文件然后通过主键去查数据库
主要看业务逻辑和数据量
你去看看compass 和 HibernateSearch的资料 都是直接和数据库关联的
完美灬缺陷
2011-08-31
打赏
举报
回复
不懂。帮顶
zn85600301
2011-08-31
打赏
举报
回复
至于你上面举的那个例子 我估计你还是没明白我的意思
在你建立索引文件时 是可以指定lucene对那些内容需要建立索引 例如你说的 全文
而 这里的id指的是一个 数据库记录的主键
也就是说 假如你用张三为条件 想要找到 包含这个词的文章
现在找到了文章1 id为1 如果用户只想看到文章内容 那么这个id就没有用
如果需要下载呢 我们就可以通过id查询数据库 返回给用户这个文章对应的URL或者直接用流返回给用户下载
zn85600301
2011-08-31
打赏
举报
回复
hibernate search 用的人还是比较少的
compass 用的人还多点
除了lucene的资料多点 搜索引擎这里的资料都很少
如果你真的想快速的掌握 个人建议你在QQ上 搜索些活跃的 搜索引擎的群
你也看到这 这种技术在 C S D N 上还是很冷清的
shenpipi
2011-08-31
打赏
举报
回复
没有人回复呢?
Lucene
与关系型数据库对比
本文旨在深入探讨
Lucene
与关系型数据库之间的差异,尤其是它们在全文检索领域的表现,以期为企业和个人在选择合适的数据处理方案时提供参考。 ###
Lucene
:全文检索的革新者
Lucene
由Doug Cutting创建,于2001年...
基于
Lucene
的Oracle数据库全文检索.pdf
在实现基于
Lucene
的Oracle数据库全文检索时,需要对
Lucene
的每个组成部分进行详细的研究和分析,以确保系统的稳定性和可靠性。此外,需要对Oracle数据库的数据进行预处理,以便于
Lucene
的索引建立和检索。 基于...
Lucene
与数据库
结合
示例(加双关键字高亮)
“
Lucene
与数据库
结合
示例(加双关键字高亮)”这个标题表明,我们将讨论如何将开源全文搜索引擎
Lucene
与关系型数据库MySQL整合在一起,并且在搜索结果中实现关键词高亮显示,以提升用户体验。这通常涉及到数据的...
Lucene
.NET
结合
Sql建立全文检索Demo源码
- **
Lucene
.NetDemo.sln**:这是一个Visual Studio解决方案文件,包含了项目的配置信息和依赖关系。 - **.vs10x**:这部分可能包含Visual Studio 2010及更高版本的项目设置和工作区信息。 - **
Lucene
.NetDemo**:...
一种基于
Lucene
检索引擎的全文数据库的研究与实现
与传统的
关系数据库
相比,全文数据库具有以下显著特点: - **非结构性**:全文数据库中的数据通常是非结构化的,这意味着它们不遵循固定的数据模型或模式。 - **原始性**:全文数据库存储的是未经加工的原始文本,...
Java
51,402
社区成员
85,918
社区内容
发帖
与我相关
我的任务
Java
Java相关技术讨论
复制链接
扫一扫
分享
社区描述
Java相关技术讨论
java
spring boot
spring cloud
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章