gpt4 book ai didi

elasticsearch - ElasticSearch:聚合

转载 作者:行者123 更新时间:2023-12-02 23:21:37 25 4
gpt4 key购买 nike

可能在我的文档中,我有一个被分析的文本字段。我只是在ElasticSearch AggregationAPI中迷路了。我需要2种不同情况的支持:

情况A)结果是带有计数标记(条款)的篮子下降。

情况B)结果是带有已计数字段文本(全文)的篮子降序排列。小麻烦:我想以不区分大小写的方式对文本进行分组。相当测验...据我所知,分析器是为反向索引创建 token 的一种方法。因此,这不会帮助我以不区分大小写的方式对文本进行分组...

请提供引用或示例,

问候,

最佳答案

聚合和搜索在 flex 搜索中使用两种不同的数据结构

例如

如果我使用这些值和标准分析仪索引字段
数据棕色

小狗 ,
狐狸 ,
狐狸
在中
跳了

飞跃

快,夏天,

这是倒排索引

Term      Doc_1   Doc_2   Doc_3
------------------------------------
brown | X | X |
dog | X | | X
dogs | | X | X
fox | X | | X
foxes | | X |
in | | X |
jumped | X | | X
lazy | X | X |
leap | | X |
over | X | X | X
quick | X | X | X
summer | | X |
the | X | | X

聚合使用的结构
Doc      Terms
-----------------------------------------------------------------
Doc_1 | brown, dog, fox, jumped, lazy, over, quick, the
Doc_2 | brown, dogs, foxes, in, lazy, leap, over, quick, summer
Doc_3 | dog, dogs, fox, jumped, over, quick, the
  • Aggregation还收集从分析器生成的 token 。

  • 解决问题的方法是

    您必须使用字段以两种不同的方式索引相同的数据

    例如
    {
    "mappings": {
    "my_type": {
    "properties": {
    "field1": {
    "type": "string",
    "analyzer":"standard",
    "fields": {
    "raw": {
    "type": "string",
    "index": "keywordAnalyzed"
    }
    }
    }
    }
    }
    }
    }

    这将使用两个不同的分析器在两个不同的字段中索引相同的数据。
    所以在第一种情况下
  • 您可以在field1上进行汇总。
  • 对于第二种情况,您需要使用 token 生成器-> 关键字 lowercasetokenfilter 来构建 token 分析器中的自定义分析器,并在 field1.raw 中使用此定制分析器。 field1.raw为not_analyzed,因为在代码级
  • 上建立索引时,在分析的字符串字段上进行聚合是一个内存密集型过程,并且使用小写字段值

    关于elasticsearch - ElasticSearch:聚合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48592240/

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