在 azure 搜索中索引字典属性

2024-01-06

我有一个具有 type 属性的 DTODictionary<string, string>。它没有注释。当我上传 DTO 并致电indexClient.Documents.Index(batch),我从服务中收到此错误:

请求无效。详细信息:参数:尝试读取属性“Data”的内容时,从 JSON 读取器读取类型为“StartObject”的节点;但是,需要一个“StartArray”节点。

我发现避免它的唯一方法是将其设置为空。这就是我创建索引的方式:

var fields = FieldBuilder.BuildForType<DTO>();
client.Indexes.Create(new Index
{
    Name = indexName,
    Fields = fields
});

如何为我的词典建立索引?


Azure 认知搜索不支持行为类似于松散类型属性包(例如字典)的字段。索引中的所有字段都必须有明确定义的EDM type https://learn.microsoft.com/rest/api/searchservice/supported-data-types.

如果您在设计时不知道可能的字段集,您有几个选择,但它们有很大的警告:

  1. 在应用程序代码中,在索引文档时发现新字段时,将其添加到索引定义中。更新索引会增加整个写入路径的延迟,因此根据添加新字段的频率,这可能可行也可能不可行。
  2. 将“动态”字段建模为一组名称/值集合字段,每个字段对应一种所需的数据类型。例如,如果发现新的字符串字段“color”的值为“blue”,则您上传的文档可能如下所示:
{
    "id": "123",
    "someOtherField": 3.5,
    "dynamicStringFields": [
        {
            "name": "color",
            "value": "blue"
        }
    ]
}

方法#1 可能会遇到每个索引的最大字段数限制 https://learn.microsoft.com/azure/search/search-limits-quotas-capacity#index-limits.

方法 2 可能会遇到以下问题:每个文档的所有复杂集合的最大元素数量限制 https://learn.microsoft.com/azure/search/search-limits-quotas-capacity#index-limits。它还使查询模型变得复杂,特别是对于您可能想要的情况相关的 https://learn.microsoft.com/azure/search/search-query-understand-collection-filters#correlated-versus-uncorrelated-search查询中的语义。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 azure 搜索中索引字典属性 的相关文章

  • Azure 搜索 - 作为第一个或单个结果完全匹配

    我使用基于丰富的 Lucene 查询解析器语法的 Azure 搜索 我将 1 定义为距离符号的附加参数 但我面临的问题是 即使存在完全匹配 实体也没有排序 例如 blue 1 将返回 blues blue glue 或者当搜索 P002 等
  • Azure 搜索建议中存在不同的值?

    我正在将关系数据库上的搜索功能卸载到 Azure 搜索 我的产品表包含序列号 零件号等列 可以有多个具有相同零件号的序列号 我想创建一个可以自动完成零件编号的建议 但在我的场景中 我在建议中收到了很多重复项 因为在多个条目中找到了partN
  • azure 搜索按分数排序和过滤

    我想知道如何使用 azure 搜索按分数过滤和排序结果 我试过 https domaine net indexes indexName email protected 20desc count true Return object stdC
  • Azure 搜索是否处理同义词

    Azure 搜索 可以根据同义词进行搜索吗 例如 如果我搜索 鞋类 系统应该获取以下结果 鞋类的同义词 如鞋子 凉鞋等 我进行了很多搜索 但未能找到有关它的适当文档 我能找到的最接近的是一个帖子说它还不支持 但这是一个旧帖子 https s
  • 如何在Azure中搜索包含引号的文本(转义单引号)?

    我有一个关于 azure 搜索的查询 如下所示 results indexClient Documents Search
  • 在 Azure 搜索上上传文档后,我可以立即删除它吗?

    1 假设我使用Azure搜索API上传一个新文档 POST indexes index name docs index api version api version 2 我收到 HTTP 代码 201 的响应 文档已成功创建 3 我再次使
  • 为什么 ContinuationToken 不能用于 Azure 搜索 API 中的分页?

    阅读 Azure Search NET SDK 的文档 我发现 ContinuationToken 属性不应该用于分页 这与 odata nextLink and search nextPageParameterREST API 中的属性
  • 搜索 API 中的模糊搜索

    Azure 搜索 api 提供了一个模糊参数来提供建议 像这样 https blssuggestions search windows net indexes cities docs suggest api version 2015 02
  • Azure 搜索服务中的点击突出显示

    我是 Azure 搜索服务的新手 我想使用 Azure 搜索服务的命中突出显示功能 我正在使用 NET SDK NuGet 包进行 azure 搜索 我使用 SearchParameter 对象来提及命中突出显示字段以及我需要的前标签和后
  • 选择查询中 geo.distance 函数的返回值

    我正在使用 select 来查询索引 我想返回索引中 GeographyPoint 的距离 我正在尝试这样的事情 其中 GeoPoint 是位置字段 select ID geo distance GeoPoint geography POI
  • 在 azure 搜索中索引字典属性

    我有一个具有 type 属性的 DTODictionary
  • 如何在 Azure 搜索 REST API 上使用“id”删除特定文档?

    我想知道如何删除Azure搜索索引中的特定文档 我想通过 REST API 使用 id 来删除文档 我曾寻找过 但找不到路 odata context https xxxx metadata docs value search score
  • Azure 搜索 - 推广旧数据

    我正在创建 Azure 搜索评分配置文件 在我的数据集中 我有一个Edm DateTimeOffset字段称为ExpiresOn 我正在使用这个字段来推广某些文档 为此 我使用了这样的新鲜度函数 name Aging functions t
  • 获取 Azure 搜索中的实际匹配数

    Azure 搜索一次最多返回 1 000 个结果 对于客户端上的分页 我想要总数匹配项 以便能够在底部显示正确数量的分页按钮 并能够告诉用户有多少结果 但是 如果超过一千个 我如何获得实际数量 我只知道有at least1 000 场比赛
  • 从 azure 搜索返回仅与确切搜索词匹配的记录

    所以我是 Azure 搜索的新手 我才刚刚开始了解它 我有一个搜索索引 用于查询一个非常简单的 sql 视图以查找匹配的记录 我在获得与我搜索的单词完全匹配时遇到了很大的困难 每当我搜索时 我都会得到仅包含确切单词的记录 但是我也会得到包含
  • 使用 lucene 模糊搜索和 Azure 搜索的同义词

    我希望能够同时处理模糊搜索和同义词 我尝试了多种方法 但无法使其正常工作 我的索引中有这些值 white black light dark 这个同义词规则 white light black dark 如果我执行查询queryType fu
  • Azure 搜索和破折号

    我正在使用 Azure 搜索并尝试对文档执行搜索 看起来好像是这样做的 indexes blah docs api version 2015 02 28 search abc 1003 返回与此相同的结果 indexes blah docs
  • AzureSearch-从数据源检测索引架构时出错

    我通过 REST API 在 Azure 搜索上创建了一个数据源 我使用 API 而不是门户 因为我有一个尚未在门户上处理的 rowversion 数据类型 我可以在门户上查看数据源 当我尝试将数据源导入索引时 出现以下错误 从数据源检测索
  • 根据日期范围增强文档

    我能够根据日期过滤文档 但我真正需要的是提高某些日期范围 以下查询返回结果 queryType full search priority High 50 Normal 10 AND type one 1 two 10 filter type
  • Azure 搜索 .NET SDK 自定义分析器

    没有太多背景 这是我的问题 要使用 C 中的 NET SDK 创建新的 Azure 搜索索引 使用文档中提供的酒店示例 我的代码如下所示 public class Hotel System ComponentModel DataAnnota

随机推荐

  • GWT HashMap 与 JSON 之间的转换

    今晚我可能会有点累 但事情是这样的 我想要 GWT HashMap 与 JSON 之间的转换 我将如何实现这一目标 换句话说 我想采取HashMap 获取其 JSON 表示形式 将其存储在某处 然后将其返回到其本机 Java 表示形式 这是
  • 为什么这个 Windows 批处理文件只执行第一行,但所有三行都在命令 shell 中执行?

    我有一个批处理文件 它依次执行三个 Maven 命令 每个命令都可以在脚本中成功执行 本身 但是 当我将所有三个命令添加到同一个文件中时 只有第一个命令在脚本退出之前执行 知道为什么吗 mvn install install file Dg
  • 在asp.net中为Excel工作表提供背景颜色

    我正在 asp net 中执行导出到 Excel 的操作 而不使用任何第三方控件 如何为导出的 Excel 工作表指定背景颜色 根据某些单元格范围 背景颜色可能 不确定 有所不同 比如说单元格 0 5 Excel 中的单元格 A E 是红色
  • Camel Quartz 在路由启动时路由不需要的作业执行

    我有几条路线看起来像 from quartz getJobId cron cronExpression stateful true routeId getJobId autoStartup false to getRouteTo 这些路由可
  • Google Chrome 扩展 + 使用 Facebook 登录 + Parse

    我正在尝试构建一个 google chrome 扩展 一个用例要求用户可以使用 Facebook 登录并通过帖子分享到他们的 Facebook 墙上 正确的申请流程是这样的 用户点击 google chrome 扩展 召唤扩展页面 用户在扩
  • JSF 中有类似 ServletContextListener 的东西吗?

    我想听一下 JSF 应用程序是否启动或停止 就像使用ServletContextListener在普通 Servlet Web 应用程序中 我怎样才能实现这个目标 您可以使用 ApplicationScoped http docs orac
  • SSIS排除Foreach循环容器中的某些文件

    我有一个 SSIS 包 它从特定目录加载 csv 文件 使用表达式和通配符来获取所有文件 目前 FileSpec容器的查找所有具有以下格式的文件 文件名 环境 这工作正常 现在从同一目录加载第二组文件 为了区分这些文件 文件格式为 文件名
  • Doctrine 的实体管理器崩溃并停止运行

    因此 当我在 ZF Doctrine 应用程序上运行测试时 某些测试碰巧破坏了 Doctrine 实体管理器 并且所有顺序测试由于 EM 关闭而失败 我在 test bootstrap php 中设置了 EM application new
  • Webpack 未加载背景图像

    我正在尝试加载图像 background transparent url img select icon png no repeat center right 8px 在我的 style scss 中它不起作用 这是我的 webpack c
  • 合并单独几何图层的图例

    我正在地图上绘制来自两个单独图层的点数据 并希望在一个图例中显示两个图层的信息 下面是一些代码来说明问题 set seed 42 lat1 lt rnorm 10 54 12 long1 lt rnorm 10 44 12 val1 lt
  • iOS - UILabel 或 UITextView 中的动画文本大小变化?

    在显示文本块的应用程序中 当设备转向横向时 我的字体大小会增加 我不喜欢它如何执行整个动画 然后突然跳到新的尺寸 所以我想在旋转过程中为尺寸变化设置动画 我在某处读到 将这个更改放入UIView动画块不起作用 因为字体属性不可设置动画 那么
  • 谷歌分析数据库[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 有人知道 Google Analytics 中的数据是如何组织的吗 很难从大量数据中进行选择 它们执行
  • Laravel Http Facade 中的 PHP Curl 代理选项

    我正在使用 Laravel 的 Http 外观来发出请求 例如 Http withHeaders user agent gt My User agent gt retry 3 500 gt get https example com gt
  • mysql_fetch_array 返回重复数据

    每次我运行 mysql fetch array 时都会返回一个带有重复值的数组e g Array 0 gt 1 row id gt 1 1 gt some text first field gt some text 2 gt some te
  • 将图例添加到 LineCollection 图中

    这是与中给出的答案相关的派生问题根据颜色图设置线条颜色 https stackoverflow com questions 19868548 set line colors according to colormap其中建议了一个很好的解决
  • ASP.NET MVC:路由层次结构 URL

    我该如何为此制定路由 URL 类别 主 子 or 类别 主 sub1 subsub 我希望有 主 子 and 主 子1 子子 作为 CategoryController 的 Index 操作方法中的参数 找到了答案 应在路由路径中使用 ca
  • 使用 Node 'pg' 库连接到 Amazon Redshift

    我尝试使用 pg 库将我的 API 连接到 Redshift 实例 但出现以下错误 Possibly unhandled error SET TIME ZONE is not supported at Connection parseE U
  • Http 304 和缓存控制:无缓存

    我看到对网络服务器的一些调用的以下响应 初始调用 HTTP 1 1 200 OK Date Mon 16 Jan 2012 05 46 49 GMT X Powered By Servlet 2 5 JSP 2 1 Content Type
  • 向 D3 和弦图添加标签

    我是一名菜鸟程序员 所以这对于你们大多数人来说可能是一个简单的任务 此和弦图的标签和 或鼠标悬停文本需要哪些代码行 http mbostock github com d3 ex chord html http mbostock github
  • 在 azure 搜索中索引字典属性

    我有一个具有 type 属性的 DTODictionary