关于solr的一些知识
简单了解
怎么理解Solr是个什么东西呢? 引用官网的介绍,
Solr is the popular, blazing-fast, open source enterprise search platform built on Apache Lucene™.
Solr是一个基于Lucene构建的,受欢迎且速度极快的企业搜索平台。
什么意思呢? 我的简单理解就是,Solr是一个独立系统,它给我们提供了很多api来操作它所连接的“数据库”,我们可以通过api对数据库进行CRUD操作,而且查询操作还贼TM快。。
下面来介绍一下Solr里面比较重要的几个概念。
core :我把它理解成一个一个数据库。
DIH(Data Import Handler):是Solr附带的用来从关系型数据库、XML、email等目标导入数据的工具,我们如果不想每次都自己调用solr提供的api来建立索引,则可以用DIH的方式,将数据以xml配置好的格式、方式来导入到solr中。
Filter查询 :
filter主要是添加过滤条件,对查询结果进行过滤,可以多个条件连用。
例:q=*:*&fq=field1:value1&fq=field2:value2
Facet查询:
facet主要是进行结果分组,有什么分组,每个分组包括多少记录;但是分组中有哪些数据是不可知道的,只有进一步搜索。
例:
q=*:*&facet=true&facet.field=field1&facet.field=field2&facet.limit=10&facet.mincount=1
Group查询
group则类似于关系数据库的group by,可以用于一个或者几个字段去重、显示一个group的前几条记录等。
例:q=*:*&group=true&group.field=field1&group.limit=0
(结合实际项目)
补充说明:
1. Filter查询,相当于普通的select * from t where t.key =value;
fq=key:value可以多条件连用,当需要区间选择时,则用fq=key:[A TO B].
2. Facet查询,facet.field,用于告诉solr,你需要统计那些字段,有点类似select count(*) , 返回的值是搜索结果中,你需要统计的那些字段的值以及数量,比如我要统计“用途”,则facet结果是: “用途”:【“娱乐”,“10”】,【“运动”,20】,我们项目中,使用国标属性ATTR_CODE ,再拼接_FACET作为facet索引。 比如我要统计“比重”,则需要传 facet.field=QWE_PROP_FACET, 统计结果为 “QWE_PROP_FACET”:[“value”,”sum”];
3. Sort 排序。 跟mysql一样,直接属性 asc,desc即可
4. 在材料搜索页面中,我们使用solr搜索产品,统计产品属性,并可通过选择产品属性进行查询,则是利用了 fq 和 facet的特性,facet统计出想要的属性,fq进行查询。
配置说明:
1. solr.xml 配置core 对应目录,以及名称
2. schema.xml 配置了field相关属性 (可以理解为字段),是整个core的数据结构
3. db-data-config.xml 或者 ,配置的就是数据库链接以及DIH规则,可以清晰看到哪个field是怎么生成的。
关于SolrCloud的研究,有时间再写篇东西记录一下。
关于solr的一些知识的更多相关文章
- Solr搜索引擎入门知识汇总
1.技术选型,为什么用solr而不用lucene,或者其他检索工具 lucene:需要开发者自己维护索引文件,在多机环境中备份同步索引文件很是麻烦 Lucene本质上是搜索库,不是独立的应用程序.而S ...
- Solr的入门知识
一.Solr的简介 Solr 是Apache下的一个顶级开源项目,采用Java开发,它是基于Lucene的全文搜索服务.Solr可以独立运行在Jetty.Tomcat等这些Servlet容器中.都 ...
- solr search基础知识(控制符及其参数)
1.^ 控制符 (1)查询串上用^ 搜索: 天后王菲,如果希望将王菲的相关度加大,用^控制符. 天后 王菲^10.5 结果就会将含有王菲的document权重加大分数提高,排序靠前,10.5为权重 ...
- 关于solr云相关知识
1.认识系统架构 1.1.集群概述 1.1.1.单点服务器的问题 我们之所以要学习集群,是因为单点服务器,存在一系列的问题. 我们以前学习的JavaEE项目,都是部署在一台Tomcat上,所有的请求, ...
- Solr4.8.1与Tomcat7整合
Solr4.8.1和Tomcat7都可以到官方网站去下载,我这里就不多说了,如下图. 这里我们首先解压Solr-4.8.1.zip,再解压Tomcat,解压后,再在当前文件夹下建2个文件夹,一个用来放 ...
- osc搜索引擎框架search-framework,TngouDB,gso,
项目目的:OSChina 实现全文搜索的简单封装框架 License: Public Domain 包含内容: 重建索引工具 -> IndexRebuilder.java 增量构建索引工具 -& ...
- solr DIH 知识梳理
solr DIH 知识梳理 web.xml中listener配置 <listener> <listener-class>org.apache.solr.handler.data ...
- solr学习四(关于性能的杂知识)
将所有只用于搜索的,而不需要作为结果的field(特别是一些比较大的field)的stored设置为false 比如我们在solr中index了一篇word,对于这篇word,我们只需要这篇文章的下载 ...
- Solr学习之二-Solr基础知识
一 基本说明 简单来说Solr是基于Lucene的高性能的,开源的Java企业搜索服务器.Solr可以看作一个Web app,运行在tomcat或Jetty这类HTTP服务器上, 底层是一个基于Luc ...
随机推荐
- Linux Kernel中所應用的數據結構及演算法
Linux Kernel中所應用的數據結構及演算法 Basic Data Structures and Algorithms in the Linux kernel Links are to the ...
- Android No static field XXX of type I in class Lcom/XXX/R$id错
问题复现: 问题原因: 出现这样的情况,你先检查你的依赖工程(module)的对应布局layout/xxx.xml是否跟主项目的layout重名,你点开R文件的时候,你会发现你的布局发生了错乱,导致你 ...
- 【记录】linux 文件权限的查看和修改
从上图可以看出每个文件权限与类型都是不一样的,如果对各个字母表达的含义不了解,那么看的真是一脸懵逼. 别急,具体解释如下: d rwx rwx rwx - rwx r-- rw- 第一列含义 ...
- shell位置参数处理举例
- shells - 有效登录 shell 的路径名
描述 /etc/shells 是一个文本文件,其中包含有效登录 shell 的路径全名. chsh(1) 需要参考这个文件,并且其他程序也可以查询该文件.有些程序从这个文件判断用户是不是标准用户.比如 ...
- Linux下创建动态库与使用
参考文章:dll和so文件区别与构成:http://www.cnblogs.com/likwo/archive/2012/05/09/2492225.html 动态库路径配置- /etc/ld.so. ...
- Goldengate 应用环境 mysql to oracle
前言 一个需求,mysql的某些表,实时同步至oracle,于是就产生了这篇文章,安装过程中,走了些弯路,原因是没太深刻理解,官方提供安装步骤所代表的意义. 环境 源端:mysql-server 5. ...
- 虚拟机设置静态IP地址
前言 NAT连接方式只能配置一次,配置好子网掩码和网关IP后,虚拟机NAT连接的ip段都是同一个ip段 1.菜单栏选择 编辑 -> 虚拟网络编辑器,打开虚拟网络编辑器对话框,选择Vmnet8 N ...
- java23种设计模式(二)-- 建造者模式和原型模式
一.建造者模式 将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创造不同的表示. 特点: (1).在某些属性没有赋值之前,复杂对象不能作为一个完整的产品使用.比如汽车包括方向盘.车门.发动机 ...
- mui使用总结
mui是一个高性能的HTML5开发框架,从UI到效率,都在极力追求原生体验:这个框架自身有一些规则,刚接触的同学不很熟悉,特总结本文:想了解mui更详细的信息,请访问mui官网 DOM结构 关于mui ...