• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
导航菜单
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • windows
  • 服务器硬件
  • 服务器运维
  • 云计算
  • 虚拟化
  • IIS教程
  • Linux
  • Apache
  • Ftp
  • DNS
  • Nginx
您的位置:首页 > 服务器 >云计算 > Elasticsearch 之 Facet,elasticsearchfacet

Elasticsearch 之 Facet,elasticsearchfacet

作者:网友 字体:[增加 减小] 来源:互联网

本文主要包含elasticsearch,elasticsearch教程,elasticsearch官网,elasticsearch安装,elasticsearch java等服务器相关知识,网友希望可以进行参考

Elasticsearch 之 Facet,elasticsearchfacet


尽管官网上强调,facet在以后的版本中将会从elasticsearch中移除,推荐使用aggregations。但在工作上,自己还是使用了facet。在阅读《Mastering Elasticsearch》的时候,看到了对facet的介绍,介绍的非常的实用和易懂,于是就摘译了一部分出来,供需要的参考。

 

当使用ElasticSearch 刻面(faceting)机制时,需要牢记:刻面(faceting)结果仅在查询(query)结果上计算;如果你在query实体外包含过滤(filter),这样的过滤不会限制刻面统计的文档(document)

来看例子:

  首先,使用以下命令往books索引内插入一些文本:

curl -XPUT 'localhost:9200/books/book/1' -d '{
"id":"1", "title":"Test book 1", "category":"book",
"price":29.99

}'

curl -XPUT 'localhost:9200/books/book/2' -d '{
"id":"2", "title":"Test book 2", "category":"book",
"price":39.99

}'

curl -XPUT 'localhost:9200/books/book/3' -d '{
"id":"3", "title":"Test comic 1","category":"comic",
"price":11.99

}'

curl -XPUT 'localhost:9200/books/book/4' -d '{
"id":"4", "title":"Test comic 2","category":"comic",
"price":15.99

}'

让我们来看看当使用查询(query)和过滤(filter)时,刻面(faceting)是如何工作的。我们将会执行一个简单的查询(query)——返回books索引上的所有文档。同样,我们会包含一个过滤来将查询结果限制仅仅属于book分类(category),以及包含一个针对price字段的范围切面,来查看有多少文档的价格低于30和有多少是高于30.整个查询如下:

{

    "query": {

       "match_all": {}

    },

    "filter": {

        "term": {

           "category": "book"

        }

    },

    "facets": {

        "price": {

           "range": {

               "field": "price",

               "ranges": [

                    {

                       "to": 30

                    },

                    {

                       "from": 30

                    }

                ]

            }

        }

    }

}

执行后,我们将得到以下结果:

{

…

"hits":{

        "total":2,

       "max_score": 1.0,

        "hits": [

            {

                "_index": "books",

               "_type": "book",

               "_id": "1",

               "_score": 1.0,

               "_source": {

                   "id": "1",

                   "title": "Test book 1",

                   "category": "book",

                   "price": 29.99

                }

            },

            {

               "_index": "books",

               "_type": "book",

               "_id": "2",

               "_score": 1.0,

                "_source": {

                   "id": "2",

                   "title": "Test book 2",

                   "category": "book",

                   "price": 39.99

                }

            }

        ]

    },

    "facets": {

        "price": {

           "_type": "range",

           "ranges": [

                {

                   "to": 30.0,

                   "count": 3,

              

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • Elasticsearch 之 Facet,elasticsearchfacet
  • 使用 ElasticSearch + LogStash + Kibana 来可视化网络流量,kibanaelasticsearch
  • Elasticsearch之scroll,elasticsearch
  • elasticsearch JAVA客户端操作---搜索的过滤、分组高亮,elasticsearchjava
  • Elasticsearch之Nested Query,elasticsearch
  • Elasticsearch之Nested Aggregation,elasticsearch
  • Elasticsearch之Nested Object Mapping,elasticsearch
  • Elasticsearch之Nested Sorting,elasticsearch
  • Elasticsearch之Nested(嵌套)系列,elasticsearch
  • Elasticsearch的简单使用案例

相关文章

  • hadoop 2.6.0 安装过程,hadoop2.6.0
  • 微软平台开发技术蓝图,微软平台蓝图
  • Navicat连接oracle,出现Only compatible with oci version 8.1 and&nb,navicatoci
  • Hive 外部表 分区表,hive外部表分区表
  • Hive编程指南_学习笔记01,hive编程指南
  • apache hive 0.14 beeline 使用注意事项,hivebeeline
  • MapReduce编程之数据去重,mapreduce编程数据
  • 孙其功陪你学之——Spark 正则化和SparkSQL,孙其功sparksql
  • 超人学院Hadoop大数据资源分享,超人学院hadoop分享
  • 别再用高考来绑架孩子们心中的“公平”,孩子们心中

文章分类

  • windows
  • 服务器硬件
  • 服务器运维
  • 云计算
  • 虚拟化
  • IIS教程
  • Linux
  • Apache
  • Ftp
  • DNS
  • Nginx

最近更新的内容

    • kafka 效率优化,kafka优化
    • Centos 64下实现socket通信,centos64下
    • 分享Hadoop大数据高薪就业视频,分享hadoop高薪就业
    • 一步一步跟我学hadoop(1)----hadoop概述和安装配置,hadoop----hadoop
    • 实战第一个云程序,实战第一个云
    • pig里面没有if:不能判断一个条件后决定一个执行步骤,pigif
    • Flocker浅析与Docker插件(3),flockerdocker
    • Spark编程指南V1.4.0(翻译),编程指南v1.4.0
    • pagerank算法的MapReduce实现,pagerankmapreduce
    • hbase数据存取策略,hbase存取策略

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有