gpt4 book ai didi

azure - 使用 Azure 搜索字段的 DocumentDB 查询

转载 作者:行者123 更新时间:2023-12-02 07:30:02 24 4
gpt4 key购买 nike

我想执行一个类似于 SELECT * FROM c where c.teams IN (@teamsList) AND CONTAINS(c.text, "some string") 的 DocumentDB 查询

问题是上面的查询是计算密集型的,几乎超出了我们的 S3 收集限制(该查询占用了 2400RU,并且我们的数据集正在快速增长,我们很快就会达到包含的扫描限制)。

我知道 Azure 搜索是搜索可索引字段的更有效方式。我的问题是如何有效地将 Azure 搜索的结果与其他查询字段合并,在我的示例中,按团队列表限制它。我们有兴趣公开一个“查询生成器”(类似的示例 here ),其中 CONTAINS 是任何字段上允许的操作数。

最佳答案

如果您想使用 DocumentDB 进行 CONTAINS 单词搜索并避免扫描(而不使用 Azure 搜索),您可以执行以下操作:

  1. 您将文本标记为单词数组。您可以使用现成的标记生成器(例如 Lucene.NET)。假设文本是“这是一个问题”
  2. 将单词存储为数组,如 text_tokens。 text_words 的内容是 ["this", "is", "question"](规范化为小写,并删除停用词)
  3. 使用 ARRAY_CONTAINS(c.text_tokens, "word") 查询 text_tokens 中的值。这将使用索引。

关于azure - 使用 Azure 搜索字段的 DocumentDB 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35923268/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com