当前位置: 首页 > 面试题库 >

Elasticsearch插件对文档进行分类

彭炳
2023-03-14
问题内容

是否有Elasticsearch插件可以让我对输入索引的文档进行分类

对我而言,最好的解决方案是对所有最经常出现的术语(/概念)进行分类,以一种用户可以浏览的标签云显示。

有没有办法做到这一点?有什么建议?

谢谢


问题答案:

基本思想是使用terms聚合,每项将产生一个存储桶。

POST /_search
{
    "aggs" : {
        "genres" : {
            "terms" : { "field" : "genre" }
        }
    }
}

您将获得的响应将通过减少术语出现次数来排序:

{
    ...

    "aggregations" : {
        "genres" : {
            "doc_count_error_upper_bound": 0, 
            "sum_other_doc_count": 0, 
            "buckets" : [ 
                {
                    "key" : "jazz",
                    "doc_count" : 10
                },
                {
                    "key" : "rock",
                    "doc_count" : 5
                },
                {
                    "key" : "electronic",
                    "doc_count" : 2
                },
            ]
        }
    }
}

如果您正在使用Kibana,则可以基于这些术语直接创建标签云可视化。



 类似资料:
  • 我目前有一个定期修订的文档,我想通过保存文档的每个旧版本来跟踪文档。因此,如果文档A有一个摘要和更新日期,我想在每次更新后,保留以前的版本及其更新数据。 问题是,我不确定该如何有效地做到这一点: 问题是,如果我将键作为值,那么自动生成的模式将把所有日期作为可能的键。这不是你想要的。 所以我的问题是在ElasticSearch中按日期跟踪所有修订的最有效方法是什么?

  • 我正在使用Elasticsearch ch6.8,我在响应中得到了一个文档列表。一些文档具有相同的分数,但它们在响应列表中以相同的顺序出现。我想知道算法ES使用什么来对具有相同分数的文档进行排序?

  • 我有如下elasticsearch文档,其中我需要根据creationtime currentdate更正年龄值 年龄=创建时间-当前日期 : 我想根据每个文档ID进行批量更新,但问题是我需要更正6个月的数据 有没有一种方法可以做到这一点,而不是循环遍历,我遇到的所有使用Pandas数据帧进行更新的示例都是基于已知值的。但是在这里_id我将在代码运行时得到。 我写的逻辑是获取所有文档 谁能给我一些

  • 问题内容: 可以说我有以下映射: 然后,我对父文档进行“ _geo_distance”排序,并能够对“ site.point”上的文档进行排序。但是,我还希望嵌套位置在父文档中按“ _geo_distance”排序。 这可能吗?如果是这样,怎么办? 问题答案: 不幸的是,没有(至少现在还没有)。 ElasticSearch中的查询仅标识与该查询匹配的文档以及它们的匹配程度。 要了解嵌套文档的用途,

  • 如何用条件(type=“block”)对所有记录进行分组? 我已尝试:db.itr.aggregate({$match:{“UIN”:“1396599472869”}},{$project:{“VM”:1}},{$group:{_id:null,r1:{$push:“$VM”}}},{$unwind:“$R1”},{$group:{_id:null,r2:{$push:“$R1”}},{$unwi

  • 问题内容: 我必须在弹性中插入一个json数组。链接中可接受的答案建议在每个json条目之前插入标题行。答案是2岁,市场上是否有更好的解决方案?我需要手动编辑json文件吗? 问题答案: 好的,那么您可以使用简单的Shell脚本来完成一些非常简单的操作(请参见下文)。这个想法是不必手动编辑文件,而是让Python进行编辑并创建另一个文件格式符合端点期望的文件。它执行以下操作: 首先,我们声明一个小