SOLR - 技术教程文章

【solr】solr5.0整合中文分词器【图】

1、solr自带的分词器远远满足不了中文分词的需求,经查使用最多的分词器是solr是mmseg4j分词器,具体整合大家可以参考https://github.com/zhuomingliang/mmseg4j一定要注意版本2、将这两个包直接拷贝到tomcat下的solr/lib中 3、在solr/java里新建dic目录将词库拷贝进去 4、直接在浏览器http://127.0.0.1:8080/solr即可如下分词结果 ok,分词整合完毕! 原文:http://www.cnblogs.com/gyjx2016/p/5925085.html

[solr]solr的安装【代码】【图】

solr是什么?翻译:SolrTM is the popular, blazing fast open source enterprise search platform from the Apache LuceneTM project. Its major features include powerful full-text search, hit highlighting, faceted search, near real-time indexing, dynamic clustering, database integration, rich document (e.g., Word, PDF) handling, and geospatial search. Solr is highly reliable, scalable and fault tole...

Solr和ES对比

Solr与ES(ElasticSearch)对比 搜索引擎选择: Elasticsearch与Solr搜索引擎选型调研文档Elasticsearch简介*Elasticsearch是一个实时的分布式搜索和分析引擎。它可以帮助你用前所未有的速度去处理大规模数据。它可以用于全文搜索,结构化搜索以及分析,当然你也可以将这三者进行组合。Elasticsearch是一个建立在全文搜索引擎 Apache Lucene? 基础上的搜索引擎,可以说Lucene是当今最先进,最高效的全功能开源搜索引擎框架。但是L...

Solr的函数查询(FunctionQuery)

作用通过函数查询让我们可以利用 numeric域的值或者与域相关的的某个特定的值的函数,来对文档进行评分。如何使用 这里主要有两种方法可以使用函数查询,这两种方法都是通过solr http 接口的: 1、内嵌在正常的solr查询表达式中。即,将函数查询写在 q这个参数中,这时候,我们使用_val_将函数与其他的查询加以区别。至于具体怎样使用,请读者留意下面的例子。 2、使用明确为函数查询的参数,比如说dismax中的bf(boost f...

solrcloud sample【代码】

在solrcloud出来之前,如果通过solrj连接solrserver,需要程序自己实现一致性hash.新版本的solr支持cloud的部署方式,可以自动实现lb和sharding的功能(通过CloudSolrServer类连接cloud),可以用下面代码做测试需要的jar包如下:apache-solr-solrj.jar apache-solr-core.jar zookeeper.jar commons-logging.jar apache-logging-log4j.jar httpclient.jar httpcore.jar slf4j-api.jar slf4j-nop.jarsample code:import java...

solr统计只返回10或者100个数据的解决办法【代码】

因为我所在的公司为政府做的项目【风险管理系统】,其中涉及大量的统计展示,多数以整个市的区划,行业部门等方式返回,在昨天,我发现听过填报单位的方式返回时,始终只有100个数据。通过对比发现,在前辈的代码中统计的存在一个巧合,就是全市的区划、行业部门钻取的方式都没有超过100,刚好我写的这个接口的填报单位有接近3w个单位。 在solr中不管是FacetPivotField还是FacetField。在统计中,最好加入 query.setFacetLim...

自己写的一个Solr搜索实例,增删改查+高亮+分页【代码】【图】

今天个人coding的模块测试,所以闲暇之余继续研究solr,然后顺带写了一个实例,随便搞的,solr真心不熟,期待认识热爱搜索的朋友,共同进步.1.配置schema.xml文件[solr\collection1\conf\目录下]因为schema默认定义了一些Field,我们这里选取[id,title,description, author]这几个属性,将id主键type配置为string,其它几个type配置为自定义的ik分词器<field name="id" type="string" indexed="true" stored="true" required="true" multiV...

Solr的一些查询参数【图】

fl: 是逗号分隔的列表,用来指定文档结果中应返回的 Field 集。默认为 “*”,指所有的字段。defType: 指定query parser,常用defType=lucene, defType=dismax, defType=edismaxq: query。q.alt: 当q字段为空时,用于设置缺省的query,通常设置q.alt为*:*。qf: query fields,指定solr从哪些field中搜索。pf: 用于指定一组field,当query完全匹配pf指定的某一个field时,来进行boost。简言之pf的作用是boosting phrases over words...

Solr随笔【代码】【图】

删除solr索引数据,使用XML有两种写法:1)<delete><id>1</id></delete> <commit/> 2)<delete><query>id:1</query></delete> <commit/> 删除所有索引,这样写就可以了:<delete><query>*:*</query></delete> <commit/> 注意:这个<commit/>节点不能少,否则删除动作的事务不会提交。 删除索引管理界面运行:原文:http://www.cnblogs.com/leejean/p/4982424.html

CentOS 6.5+Nutch 1.7+Solr 4.7+IK 2012【代码】【图】

环境Linux版本:CentOS 6.5JDK版本:JDK 1.7Nutch版本:Nutch 1.7Solr版本:Solr 4.7IK版本:IK-Analyzer 2012目录1.安装JDK2.安装Solr3.为Solr配置IK分词4.安装Nutch内容1.安装JDK1.1 在/usr/下创建java/目录,下载JDK包并解压[root@localhost ~]# mkdir /usr/java [root@localhost ~]# cd /usr/java [root@localhost ~]# curl -O http://download.oracle.com/otn-pub/java/jdk/7u75-b13/jdk-7u75-linux-x64.tar.gz [root@localh...

Solr中的概念:分析器(analyzer)、字符过滤器(character filter)、分词器(Tokenizer)、词元过滤器(Token Filter)、 词干化(Stemming)【代码】【图】

文本中包含许多文本处理步骤,比如:分词,大写转小写,词干化,同义词转化和许多的文本处理。 文本分析既用于索引时对一文本域的处理,也用于查询时查询字符串的文本处理。文本处理对搜索引擎的搜索结果有着重要的影响,特别是对如召回率的影响。 文本分析是将一个文本域的值转化为一个词序列。词是Lucene实际索引和搜索时的最小单元。分析作用于索引时原始的输入值,将转化后的词顺序保存到Lucene的索引结构中。文本分...

Nutch + solr 这个配合不错哦

因为朋友需要,所以把这个开源组合放在一起试用了下,正在弄,先Mark下。用的是Nutch1.9,这个比较新,资料比较少,基本上就是用原来的英文WIKI。首先要注意的是,不要试着在windows下做,除非你是环境十分有必要,或者是一点也不会linux,因为在windows下,确实需要改大量的代码,并且会有不可预料的问题出现。然后在这两个地方要注意一是记得改Nutch过滤策略。Nutch上的conf/regax-urlfilter.xml中一定要把没用的#掉,然后加上这...

5 统计solr目录索引信息【代码】

package com.main.java.solr.statistics;import org.apache.lucene.document.Document; import org.apache.lucene.index.IndexReader; import org.apache.lucene.index.IndexableField; import org.apache.lucene.search.ScoreDoc; import org.slf4j.Logger; import org.slf4j.LoggerFactory;import java.io.File; import java.io.IOException; import java.util.ArrayList; import java.util.List;/*** 统计目录下索引信息*/publi...

Solr/SolrCloud -error

状态2014-08-20 10:46:22,356 INFO [coreZkRegister-1-thread-1] [org.apache.solr.cloud.ShardLeaderElectionContext] - Was waiting for replicas to come up, but they are taking too long - assuming they won't come back till later 2014-08-20 10:46:22,357 INFO [coreZkRegister-1-thread-1] [org.apache.solr.cloud.ShardLeaderElectionContext] - I may be the new leader - try and sync 请求:http://172.16.10.188...

Solr-5.3.0学习笔记(三)Manage Core【图】

鲁春利的工作笔记,好记性不如烂笔头 650) this.width=650;" src="/upload/getfiles/default/2022/11/11/20221111061939980.jpg" title="QQ截图20160126140127.jpg" />1、Overview概要描述了索引库(Core)的统计分析信息(Doc数量、Segment数量、删除的Doc数量等)、实例信息(Instance路径、Data文件位置、Index文件位置等)以及复本信息等。2、AnalysisAnalysis窗口用来了解solr如何处理数据(也就是分词),处理时根据schema.x...

Solr6.0.0 + Tomcat8 安装

Solr6.0.0 + Tomcat8 配置问题中间件需求:apache-tomcat-8.0.32.tar.gzjdk-8u74-linux-x64.rpmsolr-6.0.0.zip0.安装java JDKrpm -ivh jdk-8u74-linux-x64.rpmjava -version1.解压apache-tomcat-8.0.32.tar.gztar zxvf apache-tomcat-8.0.32.tar.gz -C /opt2.从官网下载solr-6.0.0.zip并解压mv /root/solr-6.0.0/server/solr-webapp/webapp /opt/apache-tomcat-8.0.32/webapps/solrmv /root/solr-6.0.0/server/lib/ext/* /opt/ap...

solr 请求参数

qt: query type,指定那个类型来处理查询请求,一般不用指定,默认是standard。 start 返回结果的第几条记录开始,一般分页用,默认0开始rows – 指定返回结果最多有多少条记录,配合start来实现分页 http://blog.csdn.net/yuwenruli/article/details/8448575 原文:http://www.cnblogs.com/nulisaonian/p/5943364.html

全文索引----solr服务器更新增量索引【代码】【图】

上篇文章我们介绍了全量更新solr索引,但是在数据量较大时,频繁的更新索引会消耗系统性能,如果更新频率较低,则会影响短时的数据准确性,所以,更新时间的间隔是个很难界定。增量索引解决了这个问题,我们可以在较短的时间内只更新那些变化的数据,这样就避免了大批量的数据更新,因为数据量小,我们可以设置较短的时间间隔,大幅度的提高了用户体验度。本文介绍增量索引。 一 配置数据源 1.1 数据库 为了便于同全量索...

Solr4.10.2集成Nutch1.9与自带UI界面使用【代码】【图】

Solr4.10.2集成Nutch1.9与自带UI界面使用一、Solr4.10.2与Nutch1.9集成 环境:Solr4.10.2已经配置在Tomcat上Solr的Tomcat配置详见Solr4.10.2的Tomcat配置 将NUTCH_DIR/conf/schema-solr4.xml拷贝到SOLR_HOME/collection1/conf/,重命名为schema.xml,并在<fields>...</fields>最后添加一行[html]view plaincopyprint?<field name="_version_" type="long" indexed="true" stored="true" multiValued="false"/> <field name="_vers...

用Intellij idea搭建solr调试环境【图】

最近在使用solr时,配置会有一些问题,log里面打印出日志了,但是还是不知道发生这样错误的原因。于是想学习一下相关的solr源码,以下是如何搭建solr调试环境步骤。 solr调试环境搭建,首先下载源码。  可以通过 http://archive.apache.org/dist/lucene/solr/ 下载各个版本的源码。还可以在github下载最新的solr代码,地址是:https://github.com/jeniss/lucene-solr。 源码导入Intellij idea  在下载后的solr项目,可以发现是...

Solr入门之(6)配置文件solrconfig.xml【代码】【图】

solrconfig.xml包含了用于配置自身行为的绝大部分参数,其作用范围是当前core。该文件位于${solr_home}/solr/core1/conf/下。参数列表概览:   A、lib   B、dataDir parameter   C、codecFactory   D、indexConfig Section   E、Update Handler Section   F、The Query Section   G、Request Dispatcher   H、Request Handler Plug-in Section   I、UpdateRequestProcessorChain section   J、The Highligh...

笔记: Solr Hello World【图】

试用了 Solr-4.10.2一个 shards, 两台机器首先清理垃圾 rm -r example/solr/collection1/data/*启动一个 nodecd examplejava -Dbootstrap_confdir=./solr/collection1/conf -Dcollection.configName=myconf -DzkRun -DnumShards=1 -jar start.jar提交一篇文档cd exampledocs java -Durl=http://localhost:8983/solr/collection1/update -jar post.jar monitor.xml去 http://10.15.4.173:8983/solr/#/~cloud 查询一下文件看下 clou...

SolrCloud之zookeeper中使用java代码创建集合

javaAPI调用solrcloud上传配置和删除/创建集合。网上大多都是通过http路径调用创建,以下是通过Zookeeper+solr进行操作:public class SolrConfig {static String ZK_HOST="10.8.177.204:2181,10.8.177.210:2181,10.8.177.33:2181,10.8.177.22:2181";static SolrZkClient zkClient=new SolrZkClient(ZK_HOST,30000);static ZkConfigManager zkConfigManager=new ZkConfigManager(zkClient);/*** 上传配置* @param configName* @par...

利用SOLR搭建企业搜索平台 之——MultiCore【代码】

Solr Multicore 是 solr 1.3 的新特性。其目是一个solr实例,可以有多个搜索应用。  下面着手来将solr给出的一个example跑出来。这篇文章是基于《利用SOLR搭建企业搜索平台 之——运行solr》,有不明白的请参见http://lianj-lee.javaeye.com/blog/424383   1、 找到solr下载包中的example文件夹,在它的下面有个multicore文件夹,将这个文件夹下面的所有东西copy到 c:/solr-tomcat/solr下面。  注意:有一个 solr.xml(这只是...

Solr:入门【图】

1 Solr简介1.1 Solr是什么Solr是一个基于全文检索的企业级应用服务器。全文检索:可以输入一段文字,通过分词检索数据!!(复习)应用服务器:它是单独的服务。1.2 Solr能做什么它就是用于做全文搜索。1.3 为什么需要Solr问题:我们已经学过Lucene,为什么还要学习solr?答:Lucene是一个工具包,不能单独运行,需要导入到java代码中。Solr可以独立运行在tomcat容器中,通过http协议,以接口的方式对外提供服务,java代码只需要专注...

C#连接solr时提示 java内存异常 (jetty和tomcat哪个更High) java.lang.OutOfMemoryError【代码】【图】

C#连接solr时提示 java内存异常 java.lang.OutOfMemoryError 时间:20180130 09:51:13.329,消息:异常消息<?xml version="1.0" encoding="UTF-8"?> 1 <response>2 <lst name="responseHeader"><int name="status">400</int><int name="QTime">1</int></lst><lst name="error"><lst name="metadata"><str name="error-class">org.apache.solr.common.SolrException</str><str name="root-error-class">java.lang.OutOfMemoryErro...

Solr4.8.0源码分析(21)之SolrCloud的Recovery策略(二)【代码】【图】

Solr4.8.0源码分析(21)之SolrCloud的Recovery策略(二)题记: 前文<Solr4.8.0源码分析(20)之SolrCloud的Recovery策略(一)>中提到Recovery有两种策略,一是PeerSync和Replication。本节将具体介绍下PeerSync策略。 PeeySync是Solr的优先选择策略,每当需要进行recovery了,Solr总是会先去判断是否需要进入PeerSync,只有当PeerSync被设置为跳过或者PeerSync时候发现没符合条件才会进入到Replication。这是由PeeySync的特性决定的...

solr研磨之facet【代码】

作者:战斗民族就是干转载请注明地址:http://www.cnblogs.com/prayers/p/8822417.html Facet  开门见山,facet解决的就是筛选,我是把它理解为一种聚合。  例如,商品属性中的品牌名称。例如:搜索召回了100个sku,这100个sku里面包含在20个品牌里面,那我如何聚合出这20个品牌呢?solr给我们提供了强大的API,facet,基本用例如下http://localhost:8080/solr/b2b/select?q=*:*&wt=json&indent=true&facet=true&facet.field=b...

solr admin界面的监控

这里可以看到,solr的版本,lucene的版本,jvm的版本,CPU核数,jvm启动参数,还有物理内存占用,交换空间占用,jvm内存占用。 这里可以看到每个core的情况。 这里可以看到java的所有properties。 这里可以看到当前选中的core的信息。文档数,最大文档数,片段数,删除文档数等。原文:http://www.cnblogs.com/xiaolang8762400/p/7447547.html

solr 简单搭建 数据库数据同步(待续)【图】

原来在别的公司负责过文档检索模块的维护(意思就是不是俺开发的啦)。所以就稍微接触和研究了下文档检索。文档检索其实是全文检索,是通过一种技术把N多文档进行一定规律的切割归类,然后创建易于搜索的索引式文件,然后搜索具有某些规律的文档时,能够通过快速定位索引,然后根据索引提供的信息精确定位到文档从而实现迅速找到文档。这个文档一般成为条目。上家公司的时候使用的是Lucene加上Zoie实现的。lucene是apache下的开源项...