弹性搜索SQL Server

时间:2014-11-11 02:02:35

标签: sql-server elasticsearch nest

我们正尝试使用弹性搜索实现自由文本搜索。

计划是使用

OurApplication     |   巢     | 弹性搜索     | ?????????????     | SQL Server

数据库是SQL Server,表上的创建,更新和删除操作由多个应用程序执行。

如何在弹性搜索中填充和刷新索引?

我经历了River JDBC路线,有人说它会在进一步的版本中折旧吗?

如果我使用River JDBC,如何在更新发生时刷新索引?

2 个答案:

答案 0 :(得分:2)

简单来说,你可以做的是当执行任何操作时更新,添加或删除然后调用弹性搜索的相应功能。就像更新记录时一样,调用一个函数,该函数用索引更新该记录并输入弹性数据。写入和删除操作也是一样的。我在学期项目中使用相同的东西进行自动建议和文本免费搜索。 此致

答案 1 :(得分:0)

该JDBC导入程序的最佳解决方案

Java数据库连接(JDBC)导入程序允许从JDBC源获取数据以索引到Elasticsearch。 JDBC导入程序是为表格数据设计的。如果您有多个连接的表,则JDBC导入器在将深层嵌套对象重建为JSON以及处理对象语义(如对象标识)的方式上受到限制。虽然可以使用可以指定所有对象属性的映射功能扩展JDBC导入器,但是当前的解决方案主要关注相当简单的表格数据流。

您可以将脚本文件用于jdbc数据库连接和查询。您将数据存储在索引中并在应用程序上使用此索引。 您可以通过在参数schedule中设置cron表达式来重复(或计划时间)来刷新索引。

计划参数示例:  “schedule”:“0 0-59 0-23?* *” 这会每周,每小时,每周/每月/每年的所有日期执行JDBC导入程序。和索引每分钟获得新鲜数据。

JDBC导入器也支持mysql,PostgreSQL。 JDBC导入器提供了许多功能。

详细信息:https://github.com/jprante/elasticsear