非字符串OpenSearchAmazon Neptune 索引 - Amazon Neptune
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

非字符串OpenSearchAmazon Neptune 索引

非字符串OpenSearchAmazon Neptune 中的索引允许将谓词的非字符串值复制到OpenSearch使用流轮询器。所有可以安全转换为相应的谓词值OpenSearch然后将映射或数据类型复制到OpenSearch.

要在新堆栈上启用非字符串索引,Enable Non-String Indexing中的标志Amazon CloudFormation必须将模板设为true. 这是默认设置。要更新现有堆栈以支持非字符串索引,请参阅更新现有的堆栈下面的。

注意
  • 最好不要在早于之前的引擎版本上启用非字符串索引1.0.4.2.

  • OpenSearch使用正则表达式查询与多个字段匹配的字段名称(其中一些字段包含字符串值,另一些字段包含非字符串值)的查询失败并显示错误。如果 Neptune 中的全文搜索查询属于该类型,也会发生同样的情况。

  • 按非字符串字段进行排序时,在字段名称中附加 “.value” 以将其与字符串字段区分开来。

更新现有的 Neptune 全文搜索堆栈以支持非字符串索引

如果您已在使用 Neptune 全文搜索,则需要采取以下步骤来支持非字符串索引:

  1. 停止流轮询器 Lambda 函数。这可确保在导出过程中不会复制任何新的更新。通过禁用调用 Lambda 函数的云事件规则来执行此操作:

    • 在 Amazon Web Services Management Console 中,导航到 CloudWatch。

    • SelectRule.

    • 选择具有 Lambda 流轮询程序名称的规则。

    • Select禁用以暂时禁用规则。

  2. 删除当前的 Neptune 指数OpenSearch. 使用以下命令curl查询以删除amazon_neptune来自你的索引OpenSearch集群:

    curl -X DELETE "your OpenSearch endpoint/amazon_neptune"
  3. 开始从 Neptune 的一次性出口到OpenSearch. 最好设置新OpenSearch此时堆栈,以便为执行导出的轮询程序拾取新的工件。

    按列出的步骤操作此处GitHub开始将你的 Neptune 数据一次性导出到OpenSearch.

  4. 更新现有流轮询器的 Lambda 工件。在将 Neptune 数据导出到OpenSearch已成功完成,请执行以下步骤:

    • 在 Amazon Web Services Management Console 中,导航到 Amazon CloudFormation。

    • 选择主要父母Amazon CloudFormation堆栈。

    • Select更新该堆栈的选项。

    • Select从选项中替换当前模板.

    • 对于模板源,请选择Amazon S3 URL.

    • 对于 Amazon S3 URL,请输入:

      https://aws-neptune-customer-samples.s3.amazonaws.com/neptune-stream/neptune_to_elastic_search.json
    • 选择下一步而不会更改任何Amazon CloudFormation参数。

    • Select更新堆栈.Amazon CloudFormation将用最新的工件替换流轮询器的 Lambda 代码工件。

  5. 再次启动直播轮询器。通过启用适当的CloudWatch规则:

    • 在 Amazon Web Services Management Console 中,导航到 CloudWatch。

    • SelectRule.

    • 选择具有 Lambda 流轮询程序名称的规则。

    • Select启用.