solr
三劫散仙
唯有学习,可以解忧
展开
-
如何使用Hive集成Solr?
[size=medium](一)Hive+Solr简介Hive作为Hadoop生态系统里面离线的数据仓库,可以非常方便的使用SQL的方式来离线分析海量的历史数据,并根据分析的结果,来干一些其他的事情,如报表统计查询等。 Solr作为高性能的搜索服务器,能够提供快速,强大的全文检索功能。(二)为什么需要hive集成solr? (1)简单: 如果单纯的使用Hadoop编...2016-03-17 15:05:31 · 242 阅读 · 0 评论 -
curl操作Solr5.1.0增删改查
[size=large]1,使用curl查询结果,并转成csv保存[/size][code="java"]curl http://localhost:8983/solr/company/query -d 'q=*:*&start=500&rows=300&sort=modifyTime asc&fl=cpyName&wt=csv' | sed '1d' >> ...2015-08-07 10:21:27 · 465 阅读 · 0 评论 -
在Lucene或Solr中实现高亮的策略
[size=large]一:功能背景最近要做个高亮的搜索需求,以前也搞过,所以没啥难度,只不过原来用的是Lucene,现在要换成Solr而已,在Lucene4.x的时候,散仙在以前的文章中也分析过如何在搜索的时候实现高亮,主要有三种方式,具体内容,请参考散仙以前的2篇文章:第一:在Lucene4.3中实现高亮的方式[url]http://qindongliang.iteye.c...2015-07-29 20:42:00 · 111 阅读 · 0 评论 -
Lucene+Solr+ElasticSearch查询匹配优化
[size=medium]当我们在处理搜索业务时候,需求往往是灵活多变的,有时候我们需要精确匹配,有时候我们又需要全文检索,而有时候,我们又想匹配度高而且还能全文检索,这似乎是精确匹配和模糊匹配一个妥协的策略,没错这就是搜索引擎出现的目的,以往的数据库是没法解决这种问题的,数据库只能回答有,没有,存在,不存在,并不能在有和没有之间做一个完美的妥协,比如说能把最匹配最相关的结果放在topN,仅靠...2016-06-01 19:37:24 · 279 阅读 · 0 评论 -
如何通过JMX远程监控Solr?
[size=medium]有时候,我们在服务器端部署了JAVA程序,而又想在windows上监控这个程序的JVM的情况,该如何操作呢?答案就是通过JMX监控,需要在启动的java程序中,加入一定的jvm参数和指定端号,并且关闭该机器上的防火墙,这时候我们就可以在window上使用jconsole或者jvisualvm远程连接监控了。使用jmx有两种方式:第一种,比较...2016-05-23 16:07:30 · 408 阅读 · 0 评论 -
如何实现Solr自定义评分查询
[size=medium](一)背景介绍大多数时候我们使用lucene/solr/elasticsearch自带的评分查询都是没问题的,当然这也仅仅限于简单的业务或者对搜索排名不敏感的场景中,假设业务方要求有若干业务因子要干扰到排名,同时还不能放弃框架本身的文本相似度评分,那么应该怎么做呢? 这种场景尤其是在电商类的一些垂直搜索中体现比较明显,比如,新商品加分,口碑好的加分...2016-05-12 17:49:50 · 918 阅读 · 0 评论 -
如何合理的控制solr查询的命中的数量?
[b][color=olive][size=large]在solr里面,如何合理的控制的命中的数量?在一些日常的文章中或一些信息中,都有一些高频词,而这些高频词,在参与查询时,往往会造成,大量的结果集命中。 什么意思呢? 举个例子,假如我们现在做的是饭店的搜索,在我们的索引库里有一列name这个field,这里面大部分都是xxx饭店,假如你搜索的时候搜一个xxx饭店,会被分词成: ...2015-07-13 14:41:21 · 227 阅读 · 0 评论 -
浅谈Lucene中的DocValues
[size=medium]前言:在Lucene4.x之后,出现一个重大的特性,就是索引支持DocValues,这对于广大的solr和elasticsearch用户,无疑来说是一个福音,这玩意的出现通过牺牲一定的磁盘空间带来的好处主要有两个:(1)节省内存(2)对排序,分组和一些聚合操作时能够大大提升性能下面来详细介绍下DocValue的原理和使用场景(一)什么是DocV...2016-05-10 19:12:44 · 490 阅读 · 1 评论 -
Solr搜索问题笔记(二)
[b] [color=green] [size=large]记录两个问题:(1)在配置分词的场景中,如何让精确查询的排在前面,模糊查询的排在后面,这个需求算是比较常见的,但如果你是在数据库中,那么就非常容易了,where xxx=xxx 出来就是精确匹配的,但是在Lucene或者Solr中,反到有点诡异了,其实也不算问题,如果熟悉的Lucene的评分机制,理解起来则会很容易,在Lucene...2015-06-23 20:30:57 · 162 阅读 · 0 评论 -
开源大数据索引项目hive-solr
[size=medium]github地址:[url]https://github.com/qindongliang/hive-solr[/url]欢迎大家fork和使用关于这个项目的介绍,请参考散仙前面的文章:[url]http://qindongliang.iteye.com/blog/2283862[/url]最新更新:(1)添加了对solrcloud集群的支...2016-05-06 16:15:38 · 203 阅读 · 0 评论 -
shell脚本一键安装solr4.10.0
上篇博客中,散仙写了关于在shell中,如何一键安装ant和maven,本篇博客我们来看下如何使用shell脚本一键安装solr,并启动!solr最新的压缩包:[code="java"]solr-4.10.0.tgz[/code]要求如下:1,在/root根目录下下载有solr的压缩包,散仙本次的例子是是solr最新的版本2,在shell脚本里面需要提前配置压缩...2014-09-05 20:52:01 · 266 阅读 · 0 评论 -
Solr搜索问题笔记(一)
[img]http://dl2.iteye.com/upload/attachment/0109/5259/ac1a0076-ef55-379f-901c-62370c4471cc.jpg[/img][b][color=olive][size=large]笔记三个小问题:(1):使用solrj添加索引时,主要有两种方法,第一种是直接使用solrinputDoucumen...2015-06-15 18:51:44 · 136 阅读 · 0 评论 -
Solr5.1.0如何安装部署?
[img]http://dl2.iteye.com/upload/attachment/0109/1614/82c098b6-211e-30cb-b0ef-f852ccbc052b.png[/img]solr是什么?来自维基百科的解释:[img]http://dl2.iteye.com/upload/attachment/0109/1616/6a2b77ef-db54-...2015-06-02 21:38:36 · 164 阅读 · 0 评论 -
浅谈Solr和ElasticSearch建索引性能优化策略
[img]http://dl2.iteye.com/upload/attachment/0117/0198/592e3580-abdb-387b-8ff5-b3e8204bc899.jpg[/img][size=medium]由于Solr和ElasticSearch都是基于Lucene构建的,所以他们之间有很大程度的相似性,故而他们的一些优化策略基本也是通用的,面对越来越多的海量数...2016-04-27 18:48:45 · 227 阅读 · 0 评论 -
Lucene/Solr/ElasticSearch搜索问题案例分析
[img]http://dl2.iteye.com/upload/attachment/0118/2222/133a7e24-46e8-3060-9018-bfe45e2381cd.jpg[/img][size=medium]最近收集的两个搜索的case,如下:案例一:使用 A关键词:“中国诚通控股公司”搜索,不能搜到 B结果“中国诚通控股集团有限公司”从关键词...2016-06-23 18:08:28 · 191 阅读 · 0 评论 -
SolrCloud6.1.0之SQL查询测试
[img]http://dl2.iteye.com/upload/attachment/0118/5731/45034bcd-0752-315e-b020-418d468423ae.jpg[/img][size=medium]Solr发展飞快,现在最新的版本已经6.1.0了,下面来回顾下Solr6.x之后的一些新的特点:(1)并行SQL特性支持,编译成Streaming...2016-07-12 11:21:35 · 255 阅读 · 0 评论 -
SolrCloud之Sharding路由介绍
[img]http://dl2.iteye.com/upload/attachment/0118/7931/33d59663-e9ab-3923-91d0-414f5258ea49.png[/img][size=medium]在Solr4.4之后,Solr提供了SolrCloud分布式集群的模式,它带来的主要好处是:(1)大数据量下更高的性能(2)更好扩展性(3...2016-07-19 16:07:04 · 297 阅读 · 0 评论 -
Solr中如何使用游标进行深度分页查询
[size=medium]通常,我们的应用系统,如果要做一次全量数据的读取,大多数时候,采用的方式会是使用分页读取的方式,然而分页读取的方式,在大数据量的情况下,在solr里面表现并不是特别好,因为它随时可能会发生OOM的异常,在solr里面通过rows和start参数,非常方便分页读取,但是如果你的start=1000000 rows=10,那么solr里面会将前面100万元数据...2016-03-10 16:34:25 · 653 阅读 · 0 评论 -
Hbase+Solr实现二级索引提供高效查询
[size=medium]接着上一篇介绍协处理器的文章[url]http://qindongliang.iteye.com/blog/2277145[/url],本篇我们来实战一个例子,看下如何使用协处理来给Hbase建立二级索引。github地址:[url]https://github.com/qindongliang/hbase-increment-index[/url]...2016-02-18 18:28:12 · 413 阅读 · 0 评论 -
SolrCloud5.4.1集群实战(一)
[size=medium]古时候,人们用一头牛拉不动一个耕地的犁时,不会去找个比这头牛更大的牛,而是会直接使用两个牛一起参与耕地。在分布式计算中,道理同样如此,Hadoop就是一个典型的例子。诸如此类的有很多,这就是典型水平切分架构。早期的solr仅仅支持主从架构模式,这种架构可以提高集群的吞吐量和可靠性,当面临越来越多的数据时,并不能提升检索性能,所以在solr4.x之后,开始支持cloud...2016-02-06 10:06:28 · 179 阅读 · 0 评论 -
如何使用Spark大规模并行构建索引
[size=medium]使用Spark构建索引非常简单,因为spark提供了更高级的抽象rdd分布式弹性数据集,相比以前的使用Hadoop的MapReduce来构建大规模索引,Spark具有更灵活的api操作,性能更高,语法更简洁等一系列优点。先看下,整体的拓扑图:[/size][img]http://dl2.iteye.com/upload/attachment/011...原创 2016-02-01 12:54:16 · 420 阅读 · 0 评论 -
如何在eclipse中部署solr的web工程?
[b][color=green][size=large]在eclipse中调试solr,便于我们更加的清晰的了解solr的运行原理,今天散仙,就详细的写一下如何eclipse部署solr(4.10.0版本)的web工程。首先在eclipse(散仙这里是4.2)里,新建一个动态的Web工程,[/size][/color][/b][img]http://dl2.iteye.com/...2014-12-11 21:10:35 · 146 阅读 · 0 评论 -
solr4.x之原子更新
[b][color=green][size=large]solr4.x发布以后,最值得人关注的一个功能,就是原子更新功能,传说的solr是否能真正的做到像数据库一样,支持单列更新呢? 在solr官方的介绍中,原子更新是filed级别的更新,不会涉及整个Documnet级别的更新,但事实真是如此吗,经散仙验证,并非如此,原子更新这种功能,在Lucene层面上,就否定了这种方式,因为是索引存储结构,决...2014-12-11 15:36:10 · 189 阅读 · 0 评论 -
如何在Solr中实现多core查询?
[size=medium]基于solr或者elasticsearch提供的多核,多索引,多shard等查询能力,一般都是由lucene提供的多索引查询的功能演化而来的,这个功能在单机版的lucene里面确实没有发挥多大的威力,但是确是solrclourd,elasticsearch分布式集群查询数据的基础,正是因为lucene提供了多索引归并查询已经合并排序功能,所以在给它加上http的能力,...2015-12-07 20:55:35 · 1068 阅读 · 0 评论 -
Solr配置maxBooleanClauses属性不生效原因分析
[size=medium]上次已经写过一篇关于solr中,查询条件过多的异常的[url=http://qindongliang.iteye.com/blog/2257383]文章[/url],这次在总结扩展一下:有时候我们的查询条件会非常多,由于solr的booleanquery默认设置的条件数为1024,所以超过这个限制的会报异常,这样设置的原因是为了限制过多条件查询,降低查询的...2015-12-02 14:12:21 · 376 阅读 · 0 评论 -
Solr如何避免查询条件过多异常
[size=large][color=green]今天,需要查询一个东西,在q里面大概有900左右参数,使用solr查询,报异常,看log提示:Jetty HttpParser Full从上面的原因不难分析出事jetty的问题,上stackoverflow查了下,果然是jetty的问题,jetty默认对GET请求有限制,所以在请求的时候换成POST请求,至此可以查询了。je...2015-11-17 16:07:07 · 482 阅读 · 0 评论 -
最新版Solr6.2.1安装记录
下载最新版Solr6.2.1[code="java"]wget http://ftp.kddilabs.jp/infosystems/apache/lucene/solr/6.2.1/solr-6.2.1.tgz[/code]如果是windows,直接浏览器访问下载即可。安装1,解压上面下载完的tar包,到某个盘符下面2,进入到solr-6.2.1根...2016-09-23 18:48:10 · 147 阅读 · 0 评论 -
ElasticSearch+Solr几个案例笔记
(一) 最大能索引字符串的长度关于能索引最大的字符串长度,其实在Elasticsearch和Solr中都是由底层的Lucene决定的(1)不分词+索引的字符串最大长度为32766字节(2)分词+索引一般不会出现长度越界问题(3)不索引的字符串虽然没有长度最大限制,但是不建议使用搜索引擎存储大量文本(二)设置超出一定长度的字段,不索引其实这个功能,也是...2016-09-22 18:46:19 · 238 阅读 · 0 评论 -
Solr中Group和Facet的用法
先来看一下Group与Facet的区别:相同点:两者都能分组一个或多个字段并求数量,并支持组内分页不同点:facet可以对分组数量进行过滤,以及排序,和日期范围,时间范围分组,但是如果你想得到具体的数据,还得需要查询一次或多次group可以得到分组的组数量,一次请求,可以拿到所有的数据。facet可用来做电商网站的这个功能:[img]http://dl2.ite...2015-10-14 19:40:59 · 576 阅读 · 1 评论 -
Solr字段ExternalFileField使用
[size=large]ExternalFileField是一种非常灵活的定义排序的一种字段,适用于一些需要临时提高某些doc的排名,但是又不想显式的把评分建立到索引里面,这种需求,在电商的业务里面,经常会遇到一些特定的节日进行商品大促,需要临时提高一批索引数据的排名,而又不想重建整个索引,在大促结束后,这些排名又恢复正常,这种场景下非常适合使用ExternalFileField来解决,与竞价排名...2015-09-15 16:43:30 · 273 阅读 · 0 评论 -
Apache Pig和Solr问题笔记(一)
[b][color=green][size=large]记录下最近两天散仙在工作中遇到的有关Pig0.12.0和Solr4.10.2一些问题,总共有3个,如下:(1)问题一: 如何在Pig中使用ASCII和十六进制(hexadecimal)的分隔符进行加载,和切分数据?注意关于这个问题,在Pig中,会反应到2个场景中,第一: 在Pig加载(load)数据时候 。第二: 在P...2015-04-02 13:35:36 · 195 阅读 · 0 评论 -
Solr4.7.1基于eclipse的源码环境搭建
[b][color=green][size=large]为了能够更好,更方便的研究solr,我们在进阶阶段可能有时候需要读读源码了,以便于更加清晰的了解solr的运行原理和调试的具体步骤,solr是和lucene同步发版的,目前的最新的版本,是在2014年4月1日发布的4.7.1的版本,那么本篇呢,散仙就以最新版本的solr,来演示一下搭建一个基于eclipse的源码环境,方便日后查看源码所需。...2014-04-08 17:31:25 · 179 阅读 · 0 评论 -
玩转大数据系列之Apache Pig如何与Apache Solr集成(二)
[b][color=olive][size=large]散仙,在[url=http://qindongliang.iteye.com/blog/2189208]上篇文章[/url]中介绍了,如何使用Apache Pig与Lucene集成,还不知道的道友们,可以先看下上篇,熟悉下具体的流程。在与Lucene集成过程中,我们发现最终还要把生成的Lucene索引,拷贝至本地磁盘,才能提供检索服务,这...原创 2015-03-06 21:52:28 · 161 阅读 · 0 评论 -
ElasticSearch+Solr几个案例笔记
(一) 最大能索引字符串的长度关于能索引最大的字符串长度,其实在Elasticsearch和Solr中都是由底层的Lucene决定的(1)不分词+索引的字符串最大长度为32766字节(2)分词+索引一般不会出现长度越界问题(3)不索引的字符串虽然没有长度最大限制,但是不建议使用搜索引擎存储大量文本(二)设置超出一定长度的字段,不索引其实这个功能,也是原创 2016-09-22 18:48:39 · 2237 阅读 · 0 评论 -
手动从零使用ELK构建一套搜索服务
前言这两天需要对接一个新的搜索业务,由于测试机器还没到位,所以就自己创造条件,通过在Windows上安装VM虚拟机,模拟整套环境,从而能快速进入核心业务的开发测试状态中。系统环境安装配置虚拟机VMware Workstation Pro 12 云盘下载地址:https://pan.baidu.com/s/1hrWx76k 序列号:FF1JR-AZGE6-480UP-1PPXV-W38TACentos原创 2016-07-28 19:40:17 · 1473 阅读 · 0 评论 -
Lucene/Solr/ElasticSearch搜索问题案例分析
最近收集的两个搜索的case,如下: 案例一: 使用 A关键词:“中国诚通控股公司”搜索,不能搜到 B结果“中国诚通控股集团有限公司” 从关键词字面上看,确实不应该出现这种问题,因为A的关键词完全被B包含,如果说搜索B,搜不到A到还可以接受,因为 在关键词越长的情况下,term之间是AND的关系,这样返回结果集就越少,这一点从Google或者其他电商的搜索都可以得到测试原创 2016-06-23 18:13:47 · 1630 阅读 · 1 评论 -
SolrCloud之Sharding路由介绍
在Solr4.4之后,Solr提供了SolrCloud分布式集群的模式,它带来的主要好处是: (1)大数据量下更高的性能 (2)更好扩展性 (3)更高的可靠性 (4)更简单易用 什么时候应该使用SolrCloud(Shard)呢? (1)更大的数据量 (2)更大的索引体积 (3)想并行索引和查询 (4)想自定义数据分区 SolrClo原创 2016-07-19 16:45:18 · 871 阅读 · 0 评论 -
SolrCloud6.1.0之SQL查询测试
Solr发展飞快,现在最新的版本已经6.1.0了,下面来回顾下Solr6.x之后的一些新的特点: (1)并行SQL特性支持,编译成Streaming 表达式,可以在solrcloud集群中,并行执行 (2)SolrCloud的Collection被抽象成关系型数据库表,现在不仅仅可以支持强大的全文检索,还通过SQL支持像数据库一样的BI分析 (3)在SQL的where语句中,全原创 2016-07-12 11:28:26 · 3066 阅读 · 0 评论 -
如何通过JMX远程监控Solr?
有时候,我们在服务器端部署了JAVA程序,而又想在windows上监控这个程序的JVM的情况,该如何操作呢? 答案就是通过JMX监控,需要在启动的java程序中,加入一定的jvm参数和指定端号,并且关闭该机器上的防火墙,这时候我们就可以在window上使用jconsole或者jvisualvm远程连接监控了。 使用jmx有两种方式: 第一种,比较简单,无须用户名密码 第原创 2016-05-23 16:10:20 · 2380 阅读 · 0 评论 -
Lucene+Solr+ElasticSearch查询匹配优化
当我们在处理搜索业务时候,需求往往是灵活多变的,有时候我们需要精确匹配,有时候我们又需要全文检索,而有时候,我们又想匹配度高而且还能全文检索,这似乎是精确匹配和模糊匹配一个妥协的策略,没错这就是搜索引擎出现的目的,以往的数据库是没法解决这种问题的,数据库只能回答有,没有,存在,不存在,并不能在有和没有之间做一个完美的妥协,比如说能把最匹配最相关的结果放在topN,仅靠like模糊查询是解决不了这种原创 2016-06-02 10:53:48 · 3343 阅读 · 2 评论