问题标签 [azure-search-.net-sdk]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
29 浏览

azure-cognitive-search - 如何可靠地知道文档是否可在 Azure 搜索中搜索?

我正在尝试编写代码来检查我刚刚上传到 Azure 搜索的文档是否已被完全索引并准备好通过搜索找到。我很难找到一种方法来做到这一点。

这是我使用ISearchIndexClientNuGet SDK 尝试过的一些事情:

  • 我尝试进行search=* & filter=id eq {myguid}搜索,但这会产生误报(返回结果,在搜索其他字段时不会id返回文档)
  • 我已经尝试过,search={myguid}但是搜索的模糊性会产生多个文档
  • 我已经尝试Documents.Get<T>(key)在文档上使用,但这会产生误报(正如预期的那样)
  • 我尝试Documents.Count()在索引上使用以查看添加了额外的文档,但这也会产生误报(在可搜索文档之前计数会增加)

在 Azure 搜索中是否有任何可靠的方法使用 SDK 或直接使用 API 来了解文档已被完全索引并且可搜索?

0 投票
2 回答
106 浏览

azure-cognitive-search - 将 Azure 搜索 SDK 从 v.5.0.3 升级到 v.9。搜索呼叫挂起

将 .net Azure 搜索 SDK 升级到版本 9 后,我无法搜索。电话只是挂断:

我没有收到错误,一切都在 5.0.3 上运行,我仍然可以在版本 9 中创建、填充和删除索引。没有任何响应,我几乎没有什么可做的......

0 投票
1 回答
642 浏览

azure-cognitive-search - 使用通配符或模糊搜索的 Azure 完整搜索未返回预期结果

我的 Azure 搜索索引中有以下记录

我正在使用带有通配符/模糊搜索的完整搜索来获取记录。

以下搜索查询无法获取上述记录:

失败的查询 1:

失败的查询 2:

失败的查询 3:

失败的查询 4:

但如果我包含术语“teampeacock”,搜索查询会返回结果。

通过查询:

通过查询:

为什么用“孔雀”一词搜索不返回数据?

0 投票
1 回答
822 浏览

c# - Azure 搜索合并索引操作返回异常

我正在尝试运行批处理操作以合并对现有 Azure 搜索索引的一些更改,但我一直遇到此错误:

这是我的代码片段:

我以前从未见过这个错误,而且我似乎在网上找不到任何关于它的信息。任何帮助都将不胜感激!

编辑:这是我传入的 T 型示例。ProjectId 是这些索引项的键。同样重要的是要注意这个版本没有所有的索引值(它是一个合并,所以我只上传可能随键一起改变的值)。我想知道缺失值是否是导致此失败的原因?

0 投票
1 回答
117 浏览

azure-cognitive-search - Azure 搜索索引正则表达式问题

考虑以下集合:

2017.16、2017.16.a、2017.16.b、2017.167

我正在尝试使用正则表达式来搜索我的天蓝色索引并返回:2017.16.a, 2017.16.b

使用以下作为我的查询:

返回三个文档:2017.16、2017.16.a、2017.16.b

如何将正则表达式更改为仅包含 .a 和 .b 记录?

0 投票
1 回答
305 浏览

azure-cognitive-search - How to get the URL query string from Azure Search Parameters

I used to be able to retrieve the search URL from Microsoft.Azure.Search.Models.SearchParameters by calling ToString() on an object of that type. This seems to have broken, now ToString() just returns the class name (default .net behavior).

Is there an alternate way to get the search URL from SearchParameters.

I'm on Azure search 9.0.1.

The behavior that I'm expecting was documented in a previous version here: https://docs.microsoft.com/en-us/previous-versions/azure/dn957315(v%3dazure.100)

The use case for this is that I have a search UI built on top of the azure search SDK - take a look here https://www.music4dance.net/song/advancedsearchform. The UI runs on top of an Asp.Net MVC infrastructure that uses Azure Search as the engine to produce results.

When diagnosing issues or looking into ways to extend this UI, I used to be able to run a search and see both the results and generate a URL (using the aforementioned ToString()). The search URL made it easy to plug back into the Search Explorer in the Azure Portal and tweak things until I get what I want before going back to code to make it generate the right query.

0 投票
1 回答
313 浏览

c# - 为什么天蓝色搜索会在 IndexingResults 中抛出 IndexBatchException 而没有失败

在我的微服务中(负责根据事件消息将数据提供给 azure 搜索实例),我正在尝试 MergeOrUpload 一个 IndexBatch。批量大小始终为 1,因为一条事件消息仅包含一个我需要在搜索中合并或上传的实体。

我一直收到 IndexBatchException,其中不包含成功为 false 的 IndexingResults。

Azure 搜索服务详细信息

  • 等级:标准
  • 分区和副本:3 & 3

微服务细节

  • Asp .Net 核心版本:2.2
  • Microsoft.Azure.Search SDK 版本:9.0.1

目前,我的代码设置为通过在服务总线上重新排队消息并在未来约 5 秒内安排交付来处理 IndexBatchException。收到此重新排队的消息后,我的代码拒绝处理此事件消息,因为它发现消息日期时间不晚于搜索实例中的数据。

我意识到我可以将异常处理更改为仅在 IndexingResults 失败时重试,但我想了解IndexBatchException 背后的真正原因,它不包含成功为 false 的 IndexingResults 以及社区建议做什么。. 请注意,操作本身是成功的,因为每次首次尝试时都会上传数据。

我还可以确认 azure 搜索实例未处于负载状态且未超出其任何限制。

代码示例

示例错误日志

  • 未能索引某些文档:0 以上是由以下代码行产生的

我希望仅在搜索负载不足时才遇到索引批处理异常,即使是这样,我也希望它会抛出此异常并导致一些失败的结果。

0 投票
1 回答
43 浏览

asp.net-mvc - 从 AZURE SEARCH 索引查询时,我们是否必须在任何地方定义 url

使用 c# 的 AZURE 搜索是否仅基于 ServiceName、IndexName 和 APIKEY。

为什么我们不使用 URL?

我已经查看了许多关于 APIKEY 主导的所有内容的文档。那么 URL 有什么用呢?

因为在从 Post master 查询时,我们也在使用 URL 和服务版本,但在查询表单 C# 时却没有。

0 投票
2 回答
461 浏览

azure - 如何在 Azure 搜索中查询 Metadata_storage_path 字段的搜索

我知道 metadata_storage_path 是用 Base-64 编码的,我们可以通过从 Azure 搜索中检索结果在我们的代码中解密它

我的问题是我希望 Azure 搜索查询 metadata_storage_path 中存在的路径

例如,假设metadata_storage_path具有类似 <baseurl>/india/health<baseurl>/pakistan/health解密形式的值,我想用印度文本搜索获取相关文件和数据

如何在路径上执行查询。?

0 投票
1 回答
394 浏览

azure - 具有 DataType.Complex 及其子字段的 Azure 搜索建议器

我是 Azure 搜索的新手。我一直在尝试为其中一个字段创建一个包含 DataType.Complex 的新索引。Microsoft 提供了如何使用 DataType.Complex 创建新索引的示例,但针对的是建议者。

这是 Microsoft 文档作为示例显示的 REQUEST BODY,但我不太确定如何在建议器中添加复杂类型的子字段。有办法吗?