.net 的弹性搜索
Elastic search for .net
我想在我的应用程序中实现弹性搜索。我有 MS-SQL 数据库。
我已经安装了弹性搜索。它正在显示 You Know,用于搜索。
我为 Nest 添加了 nuget 包。连接到弹性。使用 Nest 添加了一条记录。记录显示在 Kibana 中。
- 我想将SQL数据导入Elastic。
- MS-SQL 数据中的任何更改都应反映到 Elastic
- 在 Elastic 中搜索复杂的模糊匹配。
我坚持第一步。
从你的描述中我可以看出你安装了弹性搜索并且运行很好。
对于第一步,您需要将 MS-SQL 中存在的数据迁移到 Elastic 搜索 mappings.You 可以为此编写一个 python 脚本。 Python 脚本应映射到索引及其相关文档。
举个例子。
-- 假设您在 MSSQL 中有一个 table,例如。员工 table 。然后逐行遍历每一行并准备一个包含一行的文档,id 将是一行的特定编号。将其插入弹性搜索中。
对于弹性搜索中的搜索 - 所有您需要根据您的要求使用匹配或复合匹配查询文档。
我在 python 中实现了相同的功能,并将数据从 postgres 迁移到弹性搜索。
- 要将信息发送到 Elastic,您应该考虑
使用 REST API 的替代方案,Elastic 提供对 Web 的访问
API 允许您创建索引并查询记录和
您不依赖于 Nuget。
例如在一个索引下开始在Elastic中索引信息
称为 testIndex ,一种称为 testdata 的类型和 0 的 Id,你会
使用与以下类似的 URI,此 URI 来自云端
Elastic 的版本,但您应该能够在托管中使用相同的版本
环境:
放
https://f1fadb41bd984c72981cb12d79a79203.us-west-1.aws.found.io:9243/testindex/testdata/0
有效载荷:
{
"user" : "Test",
"post_date" : "2019-08-07",
"message" : "Elastic test data"
}
要查询数据,您将使用以下 URI:
获取
https://f1fadb41bd984c72981cb12d79a79203.us-west-1.aws.found.io:9243/testindex/testdata/0
您可以序列化包含来自 SQL 的数据的 C# 对象
数据库 JSON 和 post 它们像示例有效载荷一样具有弹性。
- 同步数据的过程可以是 Asp.net core 中的定时后台作业、在事件调度程序中调度的控制台应用程序,也可以是在您检测到数据库成功更新时基于您的应用程序的事件。
我想在我的应用程序中实现弹性搜索。我有 MS-SQL 数据库。
我已经安装了弹性搜索。它正在显示 You Know,用于搜索。 我为 Nest 添加了 nuget 包。连接到弹性。使用 Nest 添加了一条记录。记录显示在 Kibana 中。
- 我想将SQL数据导入Elastic。
- MS-SQL 数据中的任何更改都应反映到 Elastic
- 在 Elastic 中搜索复杂的模糊匹配。
我坚持第一步。
从你的描述中我可以看出你安装了弹性搜索并且运行很好。
对于第一步,您需要将 MS-SQL 中存在的数据迁移到 Elastic 搜索 mappings.You 可以为此编写一个 python 脚本。 Python 脚本应映射到索引及其相关文档。
举个例子。 -- 假设您在 MSSQL 中有一个 table,例如。员工 table 。然后逐行遍历每一行并准备一个包含一行的文档,id 将是一行的特定编号。将其插入弹性搜索中。
对于弹性搜索中的搜索 - 所有您需要根据您的要求使用匹配或复合匹配查询文档。
我在 python 中实现了相同的功能,并将数据从 postgres 迁移到弹性搜索。
- 要将信息发送到 Elastic,您应该考虑 使用 REST API 的替代方案,Elastic 提供对 Web 的访问 API 允许您创建索引并查询记录和 您不依赖于 Nuget。
例如在一个索引下开始在Elastic中索引信息 称为 testIndex ,一种称为 testdata 的类型和 0 的 Id,你会 使用与以下类似的 URI,此 URI 来自云端 Elastic 的版本,但您应该能够在托管中使用相同的版本 环境:
放 https://f1fadb41bd984c72981cb12d79a79203.us-west-1.aws.found.io:9243/testindex/testdata/0 有效载荷:
{ "user" : "Test", "post_date" : "2019-08-07", "message" : "Elastic test data" }
要查询数据,您将使用以下 URI:
获取 https://f1fadb41bd984c72981cb12d79a79203.us-west-1.aws.found.io:9243/testindex/testdata/0
您可以序列化包含来自 SQL 的数据的 C# 对象 数据库 JSON 和 post 它们像示例有效载荷一样具有弹性。
- 同步数据的过程可以是 Asp.net core 中的定时后台作业、在事件调度程序中调度的控制台应用程序,也可以是在您检测到数据库成功更新时基于您的应用程序的事件。