问题标签 [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 投票
1 回答
679 浏览

azure - How to automatically update data source and index for a view in Azure Search

How can I update the exiting data source which is create from azure SQL view. What are steps I need to follow once when dealing with azure search for Database view.

My Data source& index should be updated once my view gets updates.

0 投票
1 回答
314 浏览

azure - 如何在 Azure 搜索筛选器中使用保留字?

我正在使用 Azure 搜索筛选器选项,如下所示

$filter=cityList/any(t: search.in(t, '1')) and name eq 'hi tech bar & restaurant' &search=*&scoringProfile=search-score&searchMode=Any&queryType=FULL

对于除保留字之外的所有单词过滤器都可以正常工作。

; / ? : @ = + &

谁能帮我找到如何在 Azure 搜索筛选器中使用保留字?

提前致谢。

0 投票
1 回答
440 浏览

azure - Microsoft.Azure.Search (sdk v3.0.3) 没有正确返回所有方面

当我使用 Microsoft.Azure.Search (v3.0.3) 的“SearchAsync”和“Search”方法返回索引项时,sdk 不会返回所有方面。

然而; 当我使用 Postman 尝试相同的事情时,它会正确返回所有方面。

这可能是 sdk 的错误吗(我相信这是对 sdk 方法的直接调用不会正确返回所有方面 - 但找不到有关此可能错误的任何记录)?如果是,是否有针对 sdk 的解决方案?任何帮助表示赞赏。

更新: 花了一些时间后,我发现该错误不是特定于 .NET SDK 的。

.NET SDK 和 REST API 似乎都有这个问题,并且它们都没有返回所有方面。你能告诉我是否有一个已知的错误,它的修复方法是什么?

请看下面的例子;

必须有 2 个指导方面,但只有 1 个从 Azure 搜索服务返回。

新的搜索查询(添加了方面专业)

请参阅下面的详细信息;

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

0 投票
1 回答
677 浏览

azure-cognitive-search - 创建 Azure 搜索索引时如何通过 C# 代码定义 CustomAnalyzer

我从这里看到了注释:https ://docs.microsoft.com/en-us/rest/api/searchservice/custom-analyzers-in-azure-search:您创建的自定义分析器未在 Azure 门户中公开. 添加自定义分析器的唯一方法是通过在定义索引时调用 API 的代码。

目前我正在使用以下 C# 代码来创建 Azure 搜索索引:

有没有办法可以在这里添加一些代码,例如:

然后在我上面的代码中添加这个自定义分析器让“field1”使用我定义的分析器?

0 投票
1 回答
585 浏览

azure - 使用 Azure Search for .NET 检查索引是否存在时出现 NullReferenceException?

当尝试使用 .NET SDK(3.0.4 和 4.0.0-preview)查看不存在的索引是否存在索引时,ExistsAsync(以及ExistsExistsWithHttpMessagesAsync)会引发以下异常。

使用邮递员的 http rest 可以正常工作并返回一条消息,指出索引不存在。

如何以有意义的方式解决此问题?

更新:

这是客户端在单元测试中运行时的外观:

在此处输入图像描述

这是 AspNetCore MVC 的外观:

在此处输入图像描述

似乎搜索客户端无法创建和FirstMessageHandler的实例。为什么不扔?HttpClientHttpClientHandler

0 投票
1 回答
324 浏览

azure-cognitive-search - Azure Search for Person macthing with multiple fields and scoring profile

I am trying to see if i can use Azure search to do a Person match. i try to match person based on different attributes score them based on match and higher than certain threshold is considered that this person is a match against my azure search data-set.

i have defined scoring profile in my index as such, giving different weight to different attribute.

for searching i am thinking i need to use lucene Fielded query operation, but i do not see any example on how to do this using azure search sdk for c#. i will be passing all or some of the attributes above and i am expecting them to be matched against their respective attributes and property like name should be allowed to do fuzzy match as well. then to get top 5 results in descending order of score.

0 投票
1 回答
1276 浏览

c# - Azure 搜索 .NET SDK 自定义分析器

没有太多背景,这是我的问题:

要使用 C# 中的 .NET SDK(使用文档中提供的 Hotel 示例)创建新的 Azure 搜索索引,我的代码如下所示:

这工作正常。

使用 .NET SDK 进行搜索时会出现问题。前缀搜索工作正常

将返回所有带有以“便宜”开头的字符串的文档,但我需要一个 string.Contains() 类型的功能,或者至少是后缀搜索。我正在尝试做类似的事情

在任何位置获取包含字符串“heap”的所有结果。

我知道有一些方法可以使用自定义分析器来执行此操作,但这些分析器只能通过 Azure 搜索 REST API 创建和应用,并且只能在创建索引时创建和应用。这使得我上面提供的几乎所有内容都无法使用,因为我必须通过 Postman 在 JSON 中定义我的“Hotels”索引、字段和分析器,而 SDK 实际上只对查询有用。这也意味着我需要在我创建的每个索引中重复定义相同的自定义分析器,因为 Azure 搜索似乎不支持全局分析器定义。

所以这里的问题是:有没有办法在 C# 中定义一个自定义分析器,我可以在创建时引用并应用于我的索引?或者,真的,有没有一种简单的方法可以仅使用 .NET SDK 获得完整的通配符支持?

0 投票
1 回答
1225 浏览

azure-cognitive-search - AzureSearch 筛选器无法正常工作

我将我的 SQL 数据迁移到 AzureSearch 文档中以尝试新的搜索体验。我无法使用 .net sdk (3.0.4) 过滤数据

我收到错误“调用的目标已引发异常”。

参数原始值:$count=true&$filter=state%20eq%20&queryType=simple&searchMode=all&$skip=0&$top=10

当我在 AzureSearch explore 中使用参数值时,我收到错误 Invalid expression: Expression expected at position 19 in 'state eq delhi eq'。\r\n参数名称:$filter

我的代码有什么问题??

0 投票
1 回答
1251 浏览

azure - Azure 搜索没有返回正确的结果。(点)在搜索查询中

我们已将文档存储到 azure search 中。其中一份文件具有以下字段值。

“标题”:“statistics_query.compute_shader_invocations.secondary_inherited 失败”

我们根据 MS Azure 团队的建议在其上定义了自定义分析器,以解决我们因 _(下划线)而面临的问题之一。

但是,当我在我的天蓝色搜索索引(版本#2016-09-01 预览版)上使用以下过滤器进行搜索时,我没有得到任何结果。

$filter=search.ismatch('"compute_shader_invocations*"','Title', 'full', 'any')

$filter=search.ismatch('"compute_shader_invocations"','Title', 'full', 'any')

$filter=search.ismatch('"shader_invocations*"','Title', 'full', 'any')

但是,如果我包含带有 (.) 点字符的文本,则相同的过滤器将起作用。

$filter=search.ismatch('"query.compute_shader*"','Title', 'full', 'any')

根据我的测试,如果文档在过滤器中使用的搜索词之后或之前出现点 (.) 字符,则搜索不会返回结果。

因此,下面的过滤器将不起作用,因为文档中存在 (.) 点字符,就在查询中使用的搜索词之前和之后。在我们的例子中,Azure 搜索文档中的单词“compute”之前和单词“invocations”之后都有一个点字符。

$filter=search.ismatch('"compute_shader_invocations*"','Title', 'full', 'any')

$filter=search.ismatch('"compute_shader"','Title', 'full', 'any')

$filter=search.ismatch('"shader_invocations*"','Title', 'full', 'any')

但是下面的过滤器应该可以工作,因为在 Azure 搜索文档中“查询”一词之前或“着色器”一词之后没有点字符

$filter=search.ismatch('"query.compute_shader*"','Title', 'full', 'any') $filter=search.ismatch('"shader*"','Title', 'full', '任何')

这真让我抓狂。任何帮助将不胜感激。

0 投票
1 回答
74 浏览

azure-cognitive-search - Azure 搜索 SKD“开始于”

我正在使用 Azure 搜索 SDK。

我的字段之一是 urlpath 字段,例如“/parentlevel/sublevel/child”

我需要在子级别或更低级别的所有页面上进行搜索和过滤。

不知何故,我需要进行搜索以返回具有以“/parentlevel/sublevel/*”开头的 urlpath 的记录。如果这不在 urlpath 中,则该记录将从搜索中排除。

如何使用 SDK 做到这一点?