1.7.5 Faceting】的更多相关文章

1. 分面(Faceting) 分面就是将搜索结果基于索引中的terms按类整理.搜索结果带有索引的term,没有term都带有该term匹配的文档数.分面使用户更容易探究搜索结果,缩小查询结果范围以达到更精确的搜索. 1.1 General Parameters 这里介绍了控制分面的基本参数: facet:设置为true,开启分面功能.如果设置为false,或者为空,或者缺失,关闭分面功能.默认值为空白. facet.query:指定一个任何符合Lucene语法的查询来生成一个分面计数.默认的…
filters和scope在ElasticSearch Faceting模块的应用 使用ElasticSearch的Facet功能时,有一些关键点需要记住.首先,faceting的结果只会基于查询结果.如果用户在查询命令中使用了filters,那么filters不会对Facet用来的统计计算的文档产生影响.另一个关键点就是scope属性,该属性可以扩展Facet用来统计计算的文档范围.接下来直接看样例. 样例数据 在回忆queries,filters,facets工作原理的同时,我们来开始新内容…
ggplot2 R的作图工具包,可以使用非常简单的语句实现非常复杂漂亮的效果. qplot 加载qplot library(ggplot2) # 测试数据集,ggplot2内置的钻石数据 qplot(carat, price, data = diamonds) dsmall <- diamonds[sample(nrow(diamonds), 100), ] #对diamonds数据集进行抽样 #1. 按color,size,shape的基本分类可视化      #1.1 简单的散点图(利用co…
ES 总结: es 是基于lucene的, 是java 实现的, 很多概念和lucene是相同的 索引-- 对应数据库的表,mongoDB中的集合 文档,由字段组成, 一个字段可以出现多次. 字段,其类型可以是任意的, 也可以是复合的, 注: 不同类型的同名字段不能设置为不同类型. 分片:每个分片是一个独立的lucene实例, 一个独立的jvm, 一个索引的数据可以有多个 分片组成---- 数据量大的时候, 通常都是这样的, 而且每个分片都是位于集群不同的节点上. 分片的大小是不能控制的, 但是…
FilterBuilders构建过滤器Query 代码如下: package com.elasticsearch; import org.elasticsearch.action.ActionListener; import org.elasticsearch.action.search.SearchResponse; import org.elasticsearch.common.geo.GeoDistance; import org.elasticsearch.common.unit.Dis…
在这个信息相当繁杂的互联网时代,我们已经学会了如何利用搜索引擎这个强大的利器来找寻目标信息,比如你会在Google上搜索情人节如何讨女朋友欢心,你也会在百度上寻找正规的整容医疗机构(尽管有很大一部分广告骗子).那么如果在你自己开发的网站系统中需要能让用户搜索一些重要的信息,并且能以结构化的结果展现给用户,下面分享的这9款Java搜索引擎框架或许就可以帮助到你了. 1.Java 全文搜索引擎框架 Lucene 毫无疑问,Lucene是目前最受欢迎的Java全文搜索框架,准确地说,它是一个全文检索引…
ELK+Kafka集群分析系统部署 因为是自己本地写好的word文档复制进来的.格式有些出入还望体谅.如有错误请回复.谢谢! 一. 系统介绍 2 二. 版本说明 3 三. 服务部署 3 1) JDK部署 3 2) Elasticsearch集群部署及优化 3 3) Elasticsearch健康插件安装 13 4) Shield之elasticsearch安全插件 15 5)Zookeeper集群搭建 15 6)Kafka集群搭建 17 7)测试Kafka和Zookeeper集群连通性 19 8…
上一篇,讲到了SolrNet的基本用法及CURD,这个算是SolrNet 的入门知识介绍吧,昨天写完之后,有朋友评论说,这些感觉都被写烂了.没错,这些基本的用法,在网上百度,资料肯定一大堆,有一些写的肯定比我的好,不过,这个是Solr系列文章,会从Solr的基础入门讲到实际开发中的分页,高亮,Facet查询等高级用法.所以,基础的入门也会涉及一些,望大家见谅.我用这么多篇文章,来总结Solr 也是为了将Solr 的 安装,配置,开发等等,整个过程的资料,都能总结汇集到一起,这样不管是懂Solr还…
基本概念: 索引Index es吧数据放到一个或者多个索引中,如果用关系型数据库模型对比,索引的地位与数据库实例(db)相当.索引存放和读取的基本单元是文档(document).es内部使用的是apache lucene实现的索引中数据的读写.(es被视为单独的一个索引,在lucene中不止一个,因为分布式中,es会用到分区shards和备份replicas机制讲一个索引存储多份). 文档document 在es中,文档主要是存储实体.所有的es应用需求最后都需要统一建成一个检索模型:检索相关文…
参考文章:http://www.freebuf.com/articles/database/100423.html 对上面链接的补充: solr-5.5.0版本已被删除,新url:http://mirrors.hust.edu.cn/apache/lucene/solr/5.5.3/ 下面是数据库的创建语句: DROP TABLE IF EXISTS `b41sgk`; CREATE TABLE `b41sgk` ( `id` bigint() NOT NULL AUTO_INCREMENT,…
转自:http://www.cnblogs.com/ibook360/archive/2011/11/30/2269077.html 在Solr的自动完成/自动补充实现介绍(第一部分) 中我介绍了怎么用faceting的机制来实现自动完成(autocomplete)的功能,今天我们来看一下如何用Suggester的组件来实现自动完成功能. 开始  这里有一点需要提醒:Suggest组件在1.4.1或以下版本不可用.要使用这个组件,你需要下载3_x或lucene/solr的主干版本. 配置 在索引…
文本分析时搜索引擎的核心工作之一,对文本包含许多处理步骤,比如:分词.大写转小写.词干化.同义词转化等.简单的说,文本分析就说将一个文本字段的值转为一个一个的token,然后被保存到Lucene的索引结构中被将来搜索用.当然,文本分析不仅在建立索引时有用,在查询时对对所输入的查询串也一样可以进行文本分析.在 Solr Schema设计 中我们介绍了许多Solr中的字段类型,其中最重要的是solr.TextField,这个类型可以进行分析器配置来进行文本分析. 接下来我们先来说说什么是分析器. 分…
本文已挪至  http://www.zhoujingen.cn/blog/8546.html Solr将数据以结构化的方式存入系统中,存储的过程中可以对数据建立索引,这个结构的定义就是通过schema.xml来配置的. <?xml version="1.0" encoding="UTF-8" ?> <!-- Licensed to the Apache Software Foundation (ASF) under one or more cont…
ES安装与启动 在官网下载压缩包,解压后直接运行bin目录下的.bat文件即可.下载地址戳这里. ES配置集群 Elasticsearch配置集群很简单,只要配置一个集群的 名称 ,ES就会自动寻找并加入到其中. 并且会自动的进行分片.备份等等操作. 配置方式: 直接修改conf/elasticsearch.yml ES查询集群状态 使用ES的REST API可以做到下面的事情: 1 管理集群,节点,索引数据和元数据 2 执行创建,读取,更新和删除操作,以及根据索引查询 3 执行更深入的操作,比…
翻译:潘飞(tinylambda@gmail.com) 基础概念 Elasticsearch有几个核心概念.从一开始理解这些概念会对整个学习过程有莫大的帮助. 接近实时(NRT)        Elasticsearch是一个接近实时的搜索平台.这意味着,从索引一个文档直到这个文档能够被搜索到有一个轻微的延迟(通常是1秒).           集群(cluster)        一个集群就是由一个或多个节点组织在一起,它们共同持有你整个的数据,并一起提供索引和搜索功能.一个集群由一个唯一的名…
该配置文件中的标签:<fileTypes>.<fields>.<uniqueKey>.<copyField> fieldType说明 标签types中定义了field可以使用的类型,类型定义中可以指定document中字段的常用属性及分词规则.solr中提供了多个预定义的fieldType,另外用户也可以自定义fieldType(比如中文分词的配置). 一.fieldType常用属性: A.name: 字段类型名 B.class: java类名 C.inde…
一.前言:为何选择Solr 由于搜索引擎功能在门户社区中对提高用户体验有着重在门户社区中涉及大量需要搜索引擎的功能需求,目前在实现搜索引擎的方案上有几种方案可供选择: 1. 基于Lucene自己进行封装实现站内搜索.工作量及扩展性都较大,不采用. 2. 调用Google.Baidu的API实现站内搜索.同第三方搜索引擎绑定太死,无法满足后期业务扩展需要,暂时不采用. 3.基于Compass+Lucene实现站内搜索.适合于对数据库驱动的应用数据进行索引,尤其是替代传统的like ‘%expres…
1.ggplot2发展历程 ggplot2是Hadley在爱荷华州立大学博士期间的作品,也是他博士论文的主题之一,实际上ggplot2还有个前身ggplot,但后来废弃了,某种程度上这也是Hadley写软件的特 征,熟悉他的人就知道这不是他第一个“2”版本的包了(还有reshape2).带2的包和原来的包在语法上会有很大的改动,基本上不兼容.尽管如此,他的R代码风格在R社区可谓独树一帜,尤其是他的代码结构很好,可读性很高,ggplot2是R代码抽象的一个杰作.读者若感兴趣,可以在GitHub网站…
一:elasticsearch原理 Elasticsearch是一个基于Apache Lucene(TM)的开源搜索引擎.无论在开源还是专有领域,Lucene可以被认为是迄今为止最先进.性能最好的.功能最全的搜索引擎库. 但是,Lucene只是一个库.想要使用它,你必须使用Java来作为开发语言并将其直接集成到你的应用中,更糟糕的是,Lucene非常复杂,你需要深入了解检索的相关知识来理解它是如何工作的. Elasticsearch也使用Java开发并使用Lucene作为其核心来实现所有索引和搜…
Fieldcache:  docID->document->fieldvalue 无论是聚类排序关联等,首先都需要获得文档中某个字段的值,通过docID去获得整个document,然后再去获得字段值,term转换得到最终值,FieldCache一开始就缓存了所有文档的某个特定域(所有数值类型以及不分词的stringField)的值到内存,便于随机存取该域值! Fieldcache实现过程: http://moshalanye.iteye.com/blog/281379 缺点: 1. 常驻内存,…
摘要 从底层介绍ElasticSearch Shard的内部原理,以及回答为什么使用ElasticSearch有必要了解Lucene的内部工作方式? 了解ElasticSearch API的代价 构建快速的搜索应用 不要任何时候都commit 何时使用Stored Fields和Document Values Lucene可能不是一个合适的工具 了解索引的存储方式 term vector是索引大小的1/2 我移除了20%的文件,但是索引占用空间并未发生任何变化 版本 elasticsearch版…
http://blog.csdn.net/changong28/article/details/38445805#comments 3.1 集群的连接 3.1.1 作为Elasticsearch节点 代码: import static org.elasticsearch.node.NodeBuilder.nodeBuilder; import org.elasticsearch.client.Client; import org.elasticsearch.node.Node; Node nod…
http://wiki.apache.org/solr/ Solr调研总结 开发类型 全文检索相关开发 Solr版本 4.2 文件内容 本文介绍solr的功能使用及相关注意事项;主要包括以下内容:环境搭建及调试.两个核心配置文件介绍.中文分词器配置.维护索引.查询索引,高亮显示.拼写检查.搜索建议.分组统计.自动聚类.相似匹配.拼音检索等功能的使用方法. 在代码文本框中如有显示不全的,请在文本框中按Ctrl+A再复制. 版本 作者/修改人 日期 V1.0 gzk 2013-06-04 1. So…
首先声明,我们团队在使用solrcloud过程中踩了一些坑,同事(晓磊和首富)进行了总结,我列到我的博客上做记录用: Q:为什么Solr里面的时间比数据库里面早8小时? Solr默认采用的时区是UTC时区,而DB中用的则是CST时区,这两个时区本身就相差了8个小时.可以通过修改Solr启动配置SOLR_TIMEZONE="UTC+08:00"将时区设置为CST.注意:修改SOLR_TIMEZONE只在导入数据时起到自动转换时区的作用.即使修改了以上配置,Solr在展示数据时任然采用UT…
关于(About) 官方文档介绍了所有的Apache Solr实现的重要特性和功能.它是免费的,可以到http://lucene.apache.org/solr/下载. 为了更加的深入和广泛,设计成一个较高水平的文档,而不是一个菜谱.文档定位到比较广泛的需求,帮助新手和经验丰富的开发人员扩展他们的应用,帮助他们定位和解决问题.在应用开发生命周期中,关于任何一点关于Solr的内容都可以使用这个文档,会得到最权威的信息. 这里默认你熟悉搜索的概念并且能够读懂XML,你不需要是个Java程序员,但是有…
参考: http://www.slideshare.net/lucenerevolution/what-is-inaluceneagrandfinal http://www.slideshare.net/jpountz/how-does-lucene-store-your-data http://www.infoq.com/cn/articles/database-timestamp-02?utm_source=infoq&utm_medium=related_content_link&u…
Parsers 除了主查询解析器外,还有一些其他的查询解析器可以使用或者和主查询解析器连合使用.这部分描述了其他查询解析器的细节,并且给出了一些例子: 大多数的解析器都可以使用局部查询参数的方式来表达(Local Parameters in query). 1.1 Block Join Query Parsers 有两种查询解析器支持block joins,这些查询解析器允许索引搜索关系内容.可以使用在你想索引子文档到父文档的地方.比如,一个博客包含父文档和作为其他评论的子文档.或者产品(pro…
1. 查询语法和解析 这部分主要说明了如何指定被使用的查询解析器.同样描述了主查询解析器的支持的语法和功能.同时还描述了在特定环境下使用的其他查询解析器.这里有一些普通查询解析器都能使用的参数,将会在Common Query Parameters中介绍. 这里讨论的解析器如下: The Standard Query Parser The DisMax Query Parser The Extended DisMax Query Parser Other Parsers 查询解析插件是所有http…
1. Overview of Searching in Solr 在用户运行一个solr搜索时,搜索查询会被request handler处理.一个request handler就是一个请求处理插件,这个插件定义了在solr处理请求时的请求处理逻辑 .solr支持多种request handler.一些用于搜索处理查询,然而其他的用于管理任务,如索引的replication(复制). 搜索应用选择了一部分request handler作为默认请求处理程序.另外,应用也可以被配置来允许用户重写re…
在搜索过程中,如果我们每次请求中都传入很多固定的参数,会很繁琐,这里再solrconfig.xml中初始化定义一些不经常改动的搜索参数: <requestHandler name="/select" class="solr.SearchHandler"> <lst name="defaults"> <str name="echoParams">explicit</str> <…