【问题标题】:How to use Azure Cognitive Search for local database?如何将 Azure 认知搜索用于本地数据库?
【发布时间】:2021-10-18 05:19:36
【问题描述】:

我们正在尝试利用 Azure 认知搜索在我们的本地数据库上启用搜索功能。我们在 .Net 中创建了一个解决方案来建立与本地数据源的连接。本地数据源可以是 SQL Server、NOSQL、Access 或 Excel 数据。

例如,我们在 excel 中有 200 万行。我们要读取数据并在这些记录中搜索特定值。

如何利用 Azure 认知搜索来实现?

【问题讨论】:

    标签: c# .net azure azure-cognitive-search azure-cognitive-services


    【解决方案1】:

    AFAIK,Azure 认知搜索无法搜索本地数据源。它只能搜索在认知搜索帐户内创建的索引中的数据。

    您需要以某种方式将这些数据带入索引。一种解决方案是将您的 Excel 文件上传到 Azure Blob 存储并使用它创建一个Data Source。然后,您将创建一个Index 和一个Indexer,它们将把这个数据源连接到索引,并用这个数据源中的数据填充索引。

    为了进一步详细说明,假设您的 Excel 文件有 4 列 - Id、FirstName、LastName 和 EmailAddress。下面是你要做的:

    1. 创建索引 - 首先您将创建一个索引。索引是 Azure 认知搜索中的一个实体,其中包含要搜索的数据。在您的情况下,您将创建一个包含 4 个字段的索引,这些字段映射到您的 Excel 文件中的列。
    2. 在 Blob 存储中上传文件 - 接下来,您将在 Azure Blob 存储中上传此 Excel 文件。在上传和上传该 CSV 文件之前,您可能需要将该文件转换为 CSV 格式。
    3. 创建数据源 - 接下来您将在您的认知搜索帐户中创建一个数据源。顾名思义,数据源是保存原始数据的实体。您将创建一个 Blob Storage 类型的数据源。
    4. 创建索引器 - 考虑到目标是从数据源读取数据并将其带入索引,您将创建一个索引器。将索引器视为您的索引和数据源之间的桥梁,它从数据源读取数据并填充索引。
    5. 运行索引器 - 最后一步是运行索引器。如果一切配置正确,一旦 Indexer 运行,您应该很快就会在 Index 中看到数据。

    如果您的 Excel 文件中的数据没有改变,其他选项可能是从 Excel 文件中读取数据并手动填充索引。您可以为此目的使用认知搜索 SDK。

    【讨论】:

    • 您的意思是,它只能搜索托管在云中的数据吗?如果您可以分享任何参考链接,那将非常有用。
    • 没错。不仅数据必须托管在云中,它还必须仅存在于认知搜索帐户内的索引中(粗略地说,将索引视为表)。请参阅此链接:docs.microsoft.com/en-us/rest/api/searchservice(关键概念部分)。
    • 是否可以将我们本地的数据推送到Azure,然后我们可以创建索引来搜索数据吗?
    • Is it possible to push our local data to Azure, then can we create index to search the data? - 这绝对是可能的。这就是我在回答的第二段中提到的。如果我需要详细说明,请告诉我。
    • 是的,请详细说明。如果您与此类示例共享任何链接,那就太好了。
    猜你喜欢
    • 1970-01-01
    • 2020-03-27
    • 2023-04-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-27
    • 2021-10-18
    • 2022-01-24
    相关资源
    最近更新 更多