如何在弹性搜索中获取整个索引的术语向量信息?而不是在文档级别

2024-01-09

根据弹性搜索文档,https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-termvectors.html https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-termvectors.html,术语向量只能应用于文档。有什么方法可以在索引级别应用它。

我的用例是在应用英语停用词过滤器后计算添加到索引的所有文档中存在的字段(类型:字符串,基本上是一个句子)中所有 uni、bi 和 trigram 的频率。

Thanks.


使用术语向量存储文件中所有文档的一些统计数据shard(为什么不索引?...继续阅读)。

  • 总术语频率(术语在所有文档中出现的频率)
  • 文档频率(包含当前术语的文档数量)

要使其发挥作用,您必须为要分析的字段启用 term_vectors。最好通过添加来完成设置映射时将 term_vectors 添加到字段定义 https://www.elastic.co/guide/en/elasticsearch/reference/current/term-vector.html#term-vector因为计算是在索引时完成的,这可以加快术语向量检索的速度。

然后,在检索术语向量时,只需添加“term_statistics”参数,ttf 就会包含在输出中。看这个例子:

GET /twitter/_doc/1/_termvectors { "fields" : ["text"], "offsets" :true,“有效负载”:true,“位置”:true,“术语统计” : 真的,“field_statistics”:true }

但是,请注意,如果索引使用多个分片,则 term_vectors 和依赖于 term_vectors 的“更像这样”查询并不准确。说不是这样的! https://www.elastic.co/guide/en/elasticsearch/reference/5.4/docs-termvectors.html#_behaviour

术语和字段统计不准确。删除的文档是 没有考虑到。该信息仅针对 请求的文档所在的分片。术语和字段统计 因此,仅作为相对测量有用,而绝对测量 数字在这种情况下没有任何意义。

如果您想要准确的统计数据,则必须将索引设置为单个分片,这违背了使用弹性搜索的目的,因为您无法对单个分片进行集群。另一位 Stackoverflow 提交者也落入了这个陷阱。 https://stackoverflow.com/questions/41711305/getting-total-term-frequency-throughout-entire-index-elasticsearch?rq=1如果有人知道解决方案,请发帖。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在弹性搜索中获取整个索引的术语向量信息?而不是在文档级别 的相关文章

  • Elasticsearch 无法获取颁发者证书

    我正在尝试使用 LetsEncrypt 加密 tls 证书 但我的服务器页面显示 Kibana server is not ready yet 这是错误 etc kibana kibana yml type log timestamp 20
  • ElasticSearch bool should_not 过滤器

    我是elasticsearch的新手 所以我的问题是 bool 过滤器有 3 个部分 must All of these clauses must match The equivalent of AND must not All of th
  • 如何将监听休眠事件的模块与实体本身解耦?

    我有一个由 spring jpa hibernate 驱动的分层 Web 应用程序 现在我正在尝试集成 elasticsearch 搜索引擎 我想要做的是捕获所有 postInsert postUpdate 事件并将这些实体发送到 elas
  • Elasticsearch 可搜索合成字段

    假设源文档 JSON 中存在几个名为的字段 a and b 属于类型long 我想构建一个综合字段 例如c 通过用下划线连接前面字段的值和 将其索引为keyword 也就是说 我正在研究一个可以通过如下虚构的部分映射来支持的功能 a typ
  • 在 Must bool 查询中使用正则表达式搜索与使用 Must_not bool 查询

    我想进行类似的查询 获取包含 不包含给定字段的 某些值 的所有文档 获取给定字段的值等于 不等于 某个值 的所有文档 根据我的映射 字段是字符串类型 这意味着它们支持关键字和全文搜索 例如 myField type text fields
  • Elasticsearch GET API 获取分片大小

    在 Elasticsearch 2 3 3 中 有没有办法使用返回 JSON 的 GET API 获取分片大小 目前我找到了以下几种获取shard size的方法 这两种方法都存在问题 recovery gt 使用 JSON 进行响应并提供
  • 弹性搜索限制类型的结果

    我有以下查询 queryDefinition query gt bool gt must gt query string gt default field gt all query gt term must no
  • 如何在scala中生成n-gram?

    我正在尝试在 scala 中编写基于 n gram 的分离新闻算法 如何为大文件生成 n gram 例如 对于包含 蜜蜂是蜜蜂中的蜜蜂 的文件 首先它必须选择一个随机的 n 元语法 例如 蜜蜂 然后它必须寻找以 n 1 个单词开头的 n 元
  • Elasticsearch:将新元素附加到对象的嵌套数组

    我正在尝试将新项目添加到特定文档中的嵌套对象数组中 我已经搜索过 似乎部分文档的更新不支持我需要的内容 它用新元素替换了整个数组 所以我进行了脚本化更新 它通过 REST API 按预期工作 PUT transactions mapping
  • 在 Elasticsearch php API 中使用多种类型或索引

    我想使用查询多种类型和索引Elasticsearch PHP API 但我不知道怎么办 我应该将类型和索引的数组传递给 params params index index array of indices params type types
  • ElasticSearch:设置 search_analyzer 时必须设置字段分析器

    我读过有关 ES 的早期版本 type mapper parsing exception reason analyzer on field email must be set when search analyzer is set 这是当我
  • 将时间戳转换为日期时间以在 Elasticsearch 聚合中使用

    我有 SendGrid 事件数据的索引 source externalId 9283cc1d b003 xxxx a5af 84fcf31c4181 email email protected cdn cgi l email protect
  • 使用 Elastic4s 进行动态 ElasticSearch 映射

    我有一个文档要在elasticSearch上建立索引 该文档包含一些我事先无法知道的动态键 例如以下示例中的 西班牙语 或 法语 contents title spanish Hola amigos french Bonjour les a
  • 按嵌套文档之一中的值对文档进行排序

    我在根据所选嵌套文档中的值对文档进行排序时遇到问题 我正在使用这样的设置 curl XPUT http 127 0 0 1 9200 test d index number of shards 1 number of replicas 1
  • 快速实现单词的字符 n 元语法

    我编写了以下代码来计算字符二元组 输出就在下面 我的问题是 如何获得不包括最后一个字符 即 t 的输出 有没有更快 更有效的方法来计算字符 n 元语法 b student gt gt gt y gt gt gt for x in range
  • Elasticsearch 查询时间增加会产生顺序不足的结果

    给定搜索关键字的 ES 搜索结果one two three申请后好像出错了boost每个关键字的功能 请帮助我修改我的 错误 查询 以实现下面我所描述的 预期结果 我在ES1 7 4与卢塞恩4 10 4 提升标准 three 被认为是最重要
  • ElasticSearch 匹配多个前缀术语

    我试图为 ElasticSearch 提供一个包含多个术语的查询 然后给出匹配的文档 其中指定的术语位于目标字段中的任何位置 这些术语可以是完整的单词或单词前缀 示例文档 msg 你好 我是一条短信 示例查询字符串 你好消息 你好 和 消息
  • 在 Elasticsearch Nest 查询中加载特定字段

    该文档似乎表明我可以返回字段的子集而不是整个文档 这是我的代码 var result client Search
  • Elasticsearch 聚合过滤器

    因为我在谷歌上找不到任何东西 是否可以在elasticsearch中过滤聚合 我正在考虑这样的事情 获取 SOME object X gt 100 的所有对象 提前致谢 编辑 样本数据 我有以下文档结构 docKey 1 value 2 d
  • 如何将不带空格的单词与带空格的 ElasticSearch 数据进行匹配

    在我的elasticsearch中 我有数据 New York 我想查询并匹配 NewYork 请注意查询字符串中没有空格 我怎样才能实现这个目标 有什么分析仪可以在这里提供帮助吗 我认为你可以申请木瓦令牌过滤器 https www ela

随机推荐