社区
Java
帖子详情
Lucene和关系数据库怎么结合?
shenpipi
2011-08-31 10:32:16
要开始一个项目,需要全文检索,另外还要针对一些字段做一些复杂的分析,这些分析又是Lucene之类的全文检索工具不好处理的,所以想使用Lucene+关系数据库来实现这个功能。
需要全文检索的字段放在Lucene中,不需要全文检索的放关系数据库中,请问这样做是不是合理?两者之间怎么关联?一些关联的查询又要怎么做?
请有经验的兄弟姐妹们指教一下。谢了。
...全文
614
13
打赏
收藏
Lucene和关系数据库怎么结合?
要开始一个项目,需要全文检索,另外还要针对一些字段做一些复杂的分析,这些分析又是Lucene之类的全文检索工具不好处理的,所以想使用Lucene+关系数据库来实现这个功能。 需要全文检索的字段放在Lucene中,不需要全文检索的放关系数据库中,请问这样做是不是合理?两者之间怎么关联?一些关联的查询又要怎么做? 请有经验的兄弟姐妹们指教一下。谢了。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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
打赏
举报
回复
没有人回复呢?
Hibernate Search 和
Lucene
的快速介绍
本文通过JUnit测试用例展示了如何使用HibernateSearch
结合
Hibernate Core和Java Persistence API (JPA)注解将简单实体持久化到
关系数据库
,并利用
Lucene
索引实现搜索功能。
创新杯论文——面向中文专利信息的
关系数据库
检索优化策略研究及应用
本文探讨了中文专利信息检索优化的重要性,分析了中文专利信息的特点和检索优化的必要性。研究基于
关系数据库
的检索优化理论,
结合
Lucene
技术,提出了针对WanFangData专利文献多维检索与分析软件的优化策略,包括数据清洗、建立索引、SQL查询优化和用户输入信息优化。通过这些策略,旨在提高检索效率和用户满意度。
【转载】开源搜索引擎HubbleDotNet图解之基础使用
HubbleDotNet是一款基于.NET平台的免费开源全文搜索引擎,
结合
了全文搜索和
关系数据库
查询功能,适用于替代数据库自带的全文搜索功能或
Lucene
.net的索引维护。本文详细介绍了其基础使用方法,包括下载安装、配置数据库连接、创建索引库和表、搜索查询等,并提供了常见问题及解决方法。
lucene
和
关系数据库
的使用
本文探讨
Lucene
全文检索引擎与传统
关系数据库
在数据存储、查询机制、索引结构及适用场景上的核心差异。重点分析
Lucene
基于倒排索引的高效文本搜索能力,以及
关系数据库
依赖B+树索引和SQL事务处理的特点。指出二者在实时性、一致性、扩展性及复杂查询支持方面的权衡,适用于不同信息技术需求。
关于
Lucene
和ES全文搜索引擎的介绍和使用
本文介绍了
Lucene
的索引原理、全文搜索和索引创建过程,以及Elasticsearch(ES)作为基于
Lucene
的分布式搜索引擎,如何简化配置和提供高可用服务。涵盖了ES的安装、查询、文档映射和Java API操作等内容。
Java
51,408
社区成员
86,096
社区内容
发帖
与我相关
我的任务
Java
Java相关技术讨论
复制链接
扫一扫
分享
社区描述
Java相关技术讨论
java
spring boot
spring cloud
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章