首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >推荐的最大代币数?(可伸缩性)

推荐的最大代币数?(可伸缩性)
EN

Stack Overflow用户
提问于 2022-04-22 02:56:37
回答 1查看 69关注 0票数 1

我正在使用下面的ngram标记程序来处理15000个文档(并期望它增长到100万个文档),每个文档都有多达6000个字符的文本(平均100-200个字符)。2-8 ngram是我使用的一种无障碍的方法,因为它需要支持所有的语言。1 QPS应该是足够的(不是很多并发用户),因此,只要每次搜索需要200 ms的avg,性能就不是优先级。

代码语言:javascript
复制
 "tokenizer": {
    "ngram_tokenizer": {
      "type": "ngram",
      "min_gram": 2,
      "max_gram": 8,
      "token_chars": [
        "letter",
        "digit"
      ]
    }
  }

令牌程序需要与包括CJK在内的所有语言一起工作,因此需要ngram。另一种方法是为CJK语言(或者其他语言)使用分析器插件,这将产生更少的标记。但如果可能的话,我更喜欢一刀切的方法。

最大的示例文档使用大于纳克的10000个令牌,其大小略高于一兆字节。但是,如果这是一个问题,我可能可以为每个标记的文本设置一个最大值。虽然我只有大约15000份文档,而且搜索速度足够快,但我不知道这是如何与#的文档进行缩放的。这个数额合理吗?Elasticsearch是否对最大令牌数量有任何有记录的建议/限制?

更多信息:内存优化部署(ES Cloud)、2个区域、4GB存储和每个区域2GB RAM、162个碎片。记忆压力在30%左右。

EN

回答 1

Stack Overflow用户

发布于 2022-04-22 06:05:25

在问题的开头,您提到了100万个文档,但后来您提到了15k,所以请澄清这一点,您的问题非常类似于我在我的这个stackOverflow的答案中回答的内容,但是我想补充几个更多的细节。

这将有助于您为什么使用n-gram,并解释您的用例,以便我们可以解释选择,如果可能的话。除此之外,使用ngram肯定很昂贵,在索引和查询时占用更多的CPU、内存、磁盘和infra,并且已知会导致性能问题,但也有各种因素,比如集群大小、索引配置(主碎片和副本碎片的配置),以及如何在Elasticsearch集群中分配它们。

除非提供更多的信息,否则很难提供具体的建议,还需要对数据集和集群进行基准测试,因为每个部署都是独一无二的。

额外提示:您可以使用 profile API 来了解执行细节,并在查询.中查找瓶颈。

希望这有帮助,如果你需要更多的信息,请告诉我。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71962983

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档