社区
Java
帖子详情
Lucene和关系数据库怎么结合?
shenpipi
2011-08-31 10:32:16
要开始一个项目,需要全文检索,另外还要针对一些字段做一些复杂的分析,这些分析又是Lucene之类的全文检索工具不好处理的,所以想使用Lucene+关系数据库来实现这个功能。
需要全文检索的字段放在Lucene中,不需要全文检索的放关系数据库中,请问这样做是不是合理?两者之间怎么关联?一些关联的查询又要怎么做?
请有经验的兄弟姐妹们指教一下。谢了。
...全文
543
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
的Oracle数据库全文检索.pdf
基于
Lucene
的Oracle数据库全文检索.pdf
Lucene
与数据库
结合
示例(加双关键字高亮)
这个是我自己写的
Lucene
与Mysql
结合
的例子,只是个简单的示例,加了高亮,看起来就更好点。欢迎大家拍砖。
Lucene
.NET
结合
Sql建立全文检索Demo源码
这是用
Lucene
.NET
结合
Sql建立全文检索Demo的源码,适合初学者学习
Lucene
,其中包含所需的DLL文件。
一种基于
Lucene
检索引擎的全文数据库的研究与实现
一种基于
Lucene
检索引擎的全文数据库的研究与实现一种基于
Lucene
检索引擎的全文数据库的研究与实现一种基于
Lucene
检索引擎的全文数据库的研究与实现
Java
51,397
社区成员
85,847
社区内容
发帖
与我相关
我的任务
Java
Java相关技术讨论
复制链接
扫一扫
分享
社区描述
Java相关技术讨论
java
spring boot
spring cloud
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章