我正在开发一个项目,我将拥有大量数据,并且可以通过几种非常有效表达为SQL查询的表单进行搜索,但也需要通过自然语言处理进行搜索.
我的计划是使用Lucene为这种搜索形式建立一个索引.
我的问题是,如果我这样做并执行搜索,Lucene将返回索引中匹配文档的ID,然后我必须从关系数据库中查找这些实体.
这可以通过两种方式完成(到目前为止我能想到):
N次查询(可怕)
立即将所有ID传递给存储过程(也许作为逗号分隔参数).这具有限制为最大参数大小的缺点,以及UDF将字符串拆分为临时表的缓慢性能.
我几乎想把所有内容镜像到lucenes索引,这样我就可以从后备存储中定期生成索引,但只需要为前端访问它.
建议吗?