【问题标题】:Elasticsearch - tf-idf computation for each alias in shardElasticsearch - 分片中每个别名的 tf-idf 计算
【发布时间】:2021-06-17 12:42:13
【问题描述】:

考虑到我有三个客户帐户,三个帐户的数据存储在单个索引中的三个别名中,该索引分布在三个分片上。

对于给定的查询,tf-idf 是如何计算的?由于它在单个索引中,因此术语计数是否与所有三个帐户的数据/别名一起考虑。我想知道我们是否可以将术语频率计数和 IDF 限制为仅帐户/一个别名

【问题讨论】:

    标签: elasticsearch elastic-stack elasticsearch-opendistro


    【解决方案1】:

    如果您使用带别名的路由,它将使用特定路由来查找分片,并将计算该特定分片上的 tf-idf,否则您的 tf-idf 将根据索引计算。 有关更多信息,您可以在 ElasticSearch herehere 中查看自定义路由。

    更新:

    索引和分片定义:

    Elasticsearch 中的数据被组织成索引。每个索引由一个或多个分片组成。每个分片都是 Lucene 索引的一个实例,您可以将其视为一个独立的搜索引擎,它为 Elasticsearch 集群中的数据子集编制索引并处理查询。

    【讨论】:

    • 嘿,thnx,据我了解,tf-idf 是按分片计算的。有没有办法仅将搜索路由到特定索引,以便根据该索引中提供的文档计算 tf-idf,而忽略同一分片中用于 tf-idf 计算的其他索引?
    • 每个分片只指向一个索引,但索引可以有很多分片,因此当您的搜索路由到特定分片时,您的 tf-idf 仅在该分片中计算。如果要过滤文档,也可以在查询中使用过滤器。
    • 我更新了我的答案以描述更好的分片和索引。
    猜你喜欢
    • 2018-11-09
    • 2019-01-10
    • 2015-04-17
    • 2021-06-17
    • 2017-03-07
    • 1970-01-01
    • 2012-04-23
    • 2020-05-11
    • 1970-01-01
    相关资源
    最近更新 更多