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

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

非字符串OpenSearchAmazon Neptune 中的索引

非字符串OpenSearch索引允许将谓词的非字符串值复制到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 流轮询器名称的规则。

    • Selectdisable以临时禁用规则。

  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从选项替换当前模板.

    • 对于模板源,选择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启用.