我正在开发一个项目,我将拥有大量数据,并且可以通过几种非常有效表达为SQL查询的表单进行搜索,但也需要通过自然语言处理进行搜索.
我的计划是使用Lucene为这种搜索形式建立一个索引.
我的问题是,如果我这样做并执行搜索,Lucene将返回索引中匹配文档的ID,然后我必须从关系数据库中查找这些实体.
这可以通过两种方式完成(到目前为止我能想到):
我几乎想把所有内容镜像到lucenes索引,这样我就可以从后备存储中定期生成索引,但只需要为前端访问它.
建议吗?
当我遇到这个问题时,我选择了具有全文搜索功能的关系数据库(我使用了 PostgreSQL 8.3,它内置了 ft 支持,具有词干提取和同义词库支持)。这样数据库就可以同时使用SQL和ft命令进行查询。缺点是您需要一个具有全文搜索功能的数据库,而这些功能可能不如 lucene 所能做到的。
| 归档时间: |
|
| 查看次数: |
1257 次 |
| 最近记录: |