我使用Webforms
db支持SQL server
应用程序。
我们在应用程序中有一个查找功能,它基本上是从数据库中读取的,基于在查找页面中选择的过滤条件。我想让它更具性能和动态,类似于搜索引擎。
我尝试将数据从SQL Server
移至ES
,但未成功。我还需要将数据实时移动到NoSQL
db或搜索引擎。
ES
/ Solr
或NoSQL
是否可以直接从SQL Server
读取?这会导致延迟吗?
如果上述描述含糊不清,请致歉,但我最初试图深入了解可能的选项。
提前致谢。
答案 0 :(得分:0)
那么你想要的是什么(如果我错了,请纠正我)是将所有数据从SQL服务器传输到Solr?
如果是这种情况,那么您可以使用JDBC和托管架构来执行此操作。 JDBC本质上允许您将Solr连接到SQL数据库,执行查询并为结果编制索引。这可以与Solr的数据导入处理程序一起使用,但是DIH有点废话,不适合生产环境(虽然可以接受一次性索引),请参阅this link。我之所以遇到问题只是没有工作而且是一般的粪便。
JDBC并不是特定于Solr的,它只是一个连接到数据库,执行查询并接收结果的Java程序。制作自己的SQL结果,将它们格式化为Solr友好格式并将它们发布到您的核心/集合中并不困难。 Here's介绍了JDBC,还有更多的内容。
托管架构只是一种灵活的架构,它可以根据需要推断您的字段类型并创建它们,这对于第一次传递很有用,直到您需要微调架构为止。因此,当SQL结果被索引时,Solr将只为每列创建一个字段类型。
因此,通过一些编码和配置,你可以这样得到它: