SOLR - 技术教程文章

Solr:Schema设计【代码】【图】

Solr将数据以结构化的方式存入系统中,存储的过程中可以对数据建立索引,这个结构的定义就是通过schema.xml来配置的。<?xml version="1.0" encoding="UTF-8" ?><!--Licensed to the Apache Software Foundation (ASF) under one or morecontributor license agreements. See the NOTICE file distributed withthis work for additional information regarding copyright ownership.The ASF licenses this file to You under the A...

Solr4.8.0源码分析(6)之非排序查询【代码】

Solr4.8.0源码分析(6)之非排序查询上篇文章简单介绍了Solr的查询流程,本文开始将详细介绍下查询的细节。查询主要分为排序查询和非排序查询,由于两者走的是两个分支,所以本文先介绍下非排序的查询。查询的流程主要在SolrIndexSearch.getDocListC(QueryResult qr, QueryCommand cmd),顾名思义该函数对queryResultCache进行处理,并根据查询条件选择进入排序查询还是非排序查询。1 /** 2 * getDocList version that uses+pop...

SolrCloud 5.x 集群部署方法

CentOS下安装Solr5.3 http://www.centoscn.com/image-text/install/2015/0918/6190.htmlsolr5.3.1 集群服务搭建solr-集群安装搭建-入门 http://www.open-open.com/lib/view/open1451574710511.html原文:http://www.cnblogs.com/hyl8218/p/5537526.html

Zookeeper、Solr和Tomcat安装配置实践【图】

Zookeeper、Solr和Tomcat安装配置实践原文:http://www.cnblogs.com/lexus/p/4626786.html

solr中文分词器IK-analyzer安装【代码】

solr本身对中文是不支持的,所以需要下载中文分词器IK-analyzer 下载地址https://code.google.com/archive/p/ik-analyzer/downloads。自己本地系统是centos6.7,所以下载了https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/ik-analyzer/IK%20Analyzer%202012FF_hf1.zip 安装步骤:解压IKAunzip IK\ Analyzer\ 2012FF_hf1.zip -d IK2.把IKAnalyzer2012FF_u1.jar拷贝到solr服务的solr\WEB-INF\lib...

Solr_全文检索引擎系统【代码】【图】

Solr介绍:Solr 是Apache下的一个顶级开源项目,采用Java开发,它是基于Lucene的全文搜索服务。Solr可以独立运行在Jetty、Tomcat等这些Servlet容器中。 Solr的作用:solr是一个现成的全文检索引擎系统, 放入tomcat下可以独立运行, 对外通过http协议提供全文检索服务(就是对索引和文档的增删改查服务), 在代码中可以通过solrJ(solr的客户端的jar包)来调用solr服务。 Lucene和solr的区别:lucene是一个全文检索引擎工具包, 就是...

Solr4.7缓存技术

磁盘IO往往是计算机系统响应速度的一个突出瓶颈,搜索引擎查询很平凡,减少搜索过程中的磁盘IO对提升搜索响应速度无疑有莫大的帮助,在solr中,提供自带的缓存机制。我们只需要在solrconfig.xml中加几个配置项就可以了。下面我们看看solr的3个缓存。Filter cache:这个是被用来缓存过滤器(就是查询参数fq)的结果和基本的枚举类型。Document cache:这个是被用来缓存lucene documents的,就是存储field的那个东西。Query result c...

msg=SolrCore ‘collection1‘ is not available due to

异常信息:msg=SolrCore ‘collection1‘ is not available due to init failure: Could not load conf for core collection1: Error loading solr config from solr/collection1/conf/solrconfig.xml,trace=org.apache.solr.common.SolrException: SolrCore ‘collection1‘ is not available due to init failure: Could not load conf for core collection1: Error loading solr config from solr/collection1/conf/solrconfig....

4.跟我学solr---SolrRequestHandler详解【图】

概述我们在使用solr admin在做查询的时候,可以看到Request-Hander(qt)输入栏中有“/select”这样一个uri,当我们点击查询的时候所发起的请求是这样的,http://localhost:8080/solr/collection1/select?q=feature&wt=json&indent=true&_=1399167234058,我们可以看到"/select"被自动地加到请求的url里面。那么solr服务在接受到这个请求的时候,就会根据"/select"这段uri来选择对应的RequestHandler。那“/select”这个RequestHan...

关于solr schema.xml 和solrconfig.xml的解释

一、字段配置(schema) schema.xml位于solr/conf/目录下,类似于数据表配置文件, 定义了加入索引的数据的数据类型,主要包括type、fields和其他的一些缺省设置。 1、先来看下type节点,这里面定义FieldType子节点,包括name,class,positionIncrementGap等一些参数。 name:就是这个FieldType的名称。 class:指向org.apache.solr.analysis包里面对应的class名称,用来定义这个类型的行为。 < schema name = "exampl...

使用solr的函数查询,并获取tf*idf值【代码】

1. 使用函数df(field,keyword) 和idf(field,keyword).http://118.85.207.11:11100/solr/mobile/select?q={!func}product%28idf%28title,%E9%97%AE%E9%A2%98%29,tf%28title,%E9%97%AE%E9%A2%98%29%29&fl=title,score,product%28idf%28title,%E9%97%AE%E9%A2%98%29,tf%28title,%E9%97%AE%E9%A2%98%29%29&wt=json其中tf*idf的值和score的值是相同的.也可以在solrj中实现:publicclass AppTest { @Testpublicvoid test1() throws So...

[solr] - Facet【代码】【图】

Solr facet使用于分类统计,是最好的工具。下面例子使用facet将可模拟查询搜索出租房信息。 1、在schema.xml中的内容如下:<?xml version="1.0" ?><schema name="my core" version="1.1"><fieldtype name="string" class="solr.StrField" sortMissingLast="true" omitNorms="true"/><fieldType name="long" class="solr.TrieLongField" precisionStep="0" positionIncrementGap="0"/><fieldType name="tdate" class="solr.TrieDat...

SolrCloud环境配置【代码】【图】

Solr是一个企业级搜索服务器,对外提供Web-Service接口,用户可以通过http请求,向搜索引擎提交xml或者json格式的数据,生成索引;然后可以通过http get请求查找,获取返回的xml或者json等多种格式的数据。  首先去官网下载solr安装包,网址是:https://lucene.apache.org/solr/ 进入后单击导航栏的DOWNLOAD按钮,稍等几秒页面会自动跳转至镜像选择页面,选择相应的服务器即可,比如此时我的最终网址为:http://mirror.bit.edu....

Solr API操作【代码】

1、需要在/usr/local/services/solr/solr-4.10.3/example/solr/collection1/conf的solrconfig.xml加上 <requestHandler name="/select" class="solr.SearchHandler"> <!-- default values for query parameters can be specified, these will be overridden by parameters in the request --> <lst name="defaults"> <str name="echoParams">explicit</str> <int name="rows">10</int> <str...

Solr使用【代码】

importstatic org.junit.Assert.*;import java.util.Date; import java.util.Iterator; import java.util.List; import java.util.Set;import org.apache.solr.client.solrj.SolrQuery; import org.apache.solr.client.solrj.impl.HttpSolrServer; import org.apache.solr.client.solrj.response.QueryResponse; import org.apache.solr.client.solrj.response.SpellCheckResponse; import org.apache.solr.client.solrj.response....

跟益达学Solr5之拼音分词[改进版]【图】

? ? ? 之前一篇介绍过如何自定义实现拼音分词器,不过当初只考虑了全拼这种情况,且有些BUG,趁着抗日胜利70周年阅兵3天假期有时间,又把当初的代码拿起来进行了改进,改进点包括支持全拼,简拼以及全拼+简拼,支持汉字数字是否NGram处理的可配置,支持NGram长度范围的可配置等,特此更新此篇进行分享!如有不妥之处,还望不吝指正!? ? ? 废话不多说,直接上代码:import java.io.IOException; import java.util.ArrayList; impor...

solrj:org.apache.solr.common.util.NamedList.java【代码】

package org.apache.solr.common.util;import java.io.Serializable; import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; import java.util.Iterator; import java.util.List; import java.util.Map;import org.apache.solr.common.SolrException;/*** 一个简单的容器类 用来模拟一个有序的 name/value 键值对列表* <p>* 不同于 Maps:* </p>* <ul>* <li>Names可以重复</li>* <li>元素具有顺序...

Solr各个版本重大变化之安装方式【请别违背规律】【图】

这里主要讲安装方式的变化4.x~5.x的变化 这是4.x的安装方式,大家都熟知,在我看来未免繁琐了一点。或许官方也感觉繁琐了,于是5.x有个最大的改变。↓现在Solr是一个独立的服务器什么叫Standalone呢? 我来翻译一下:从solr5.0开始,Solr不在分发成一个war包以部署在任何Servlet容器上。现在的Solr作为一个单独的Java应用服务器分发,包括在Unix或者Windows平台上使用的启动和停止脚本,以及一个安装脚本来设置生产环境下的Solr安装...

solr + tomcat + mysql整合【代码】【图】

上一次分享了solr+tomcat的整合学习就是要一步一步的进行才有趣所以这次给大家分享solr+tomcat+mysql一、准备工作1.一张带数据的数据库表(我用的是这张叫merchant的表) 2.导jar包需要把solr-5.5.4\dist目录下的solr-dataimporthandler-5.5.4.jar复制到tomcat\webapps\solr\WEB-INF\lib目录下如图还需要导一个数据库连接的jar包到tomcat\webapps\solr\WEB-INF\lib3.core配置(core具体创建不描述了虽然会的不多但是还是懒=。=)默认...

Solr入门 Linux中 配置tomcat7 jdk 1.7

一、环境准备:系统环境:CentOS 6.5 Tomcat 7.0.26 jdk-7u17-linux-x64.rpm solr-4.10.1.tgz首先将软件包上传到/tmp目录下 1、 jdk安装]# rpm -ivh jdk-7u17-linux-x64.rpm Preparing... ########################################### [100%] 1:jdk ########################################### [100%] Unpacking JAR files... ...

solr DIH错误集锦【代码】

1,IO溢出null:org.eclipse.jetty.io.EofExceptionat org.eclipse.jetty.server.HttpOutput.write(HttpOutput.java:142)at org.eclipse.jetty.server.HttpOutput.write(HttpOutput.java:107)at org.apache.solr.common.util.FastOutputStream.flush(FastOutputStream.java:214)at org.apache.solr.common.util.FastOutputStream.flushBuffer(FastOutputStream.java:207)at org.apache.solr.common.util.JavaBinCodec.marshal(JavaB...

solr7.2安装实例,中文分词器【代码】【图】

一、安装实例1、创建实例目录[root@node004]# mkdir -p /usr/local/solr/home/jonychen2、复制实例相关配置文件[root@node004]# cp /usr/local/solr/home/configsets/_default/conf -rf /usr/local/solr/home/jonychen3、修改solrConfig.xml[root@node004]# cp /root/solr-7.2.0/contrib -rf /usr/local/solr/home/[root@node004]# cp /root/solr-7.2.0/dist -rf /usr/local/solr/home/[root@node004]# vi /usr/local/so...

Solrcloud

SolrCloud介绍 在我们应用还很渺小的时候,一台Solr服务器能完 全胜任这份工作,随着我们应用慢慢长大,访问也越来越多,一台Solr服务器的弊病也逐渐显现如查询变慢了,机器宕机就无法继续提供服务,于是乎我们引入 了Solr集群,通过前端负载均衡和索引Replication来分担一台机器的压力,这样既能提高查询速度,也能避免单机故障问题而且是可伸缩的解决方 案,一切看起来很OK,问题也暂时解决了,但是好景不长,随着应用的发展,数...

Solr系列4-SolrJ开发应用【代码】【图】

1: Solr导入1.1导入POM# Base Code Java org.apache.solr solr-solrj 8.4.0 # spring boot org.springframework.boot spring-boot-starter-data-solr# Base Code Java <dependency><groupId>org.apache.solr</groupId><artifactId>solr-solrj</artifactId><version>8.4.0</version> </dependency> # spring boot <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-solr</artifactId> ...

solr7.4 安装与使用【代码】【图】

1.solr7环境要求solr7需要java8环境,且需要在环境变量中添加 JAVA_HOME变量。2.solr 安装下载地址 https://lucene.apache.org/solr/mirrors-solr-latest-redir.html 我下载为7.4版本 在solr5以前solr的启动都有tomcat作为容器,但是从solr5以后solr内部集成jetty服务器,可以通过bin目录中脚本直接启动。就是从solr5以后跟solr4最大的区别是被发布成一个独立的应用。 在solr5之后solr其实特别容易安装,有安装包,之后在解压...

Solr的知识点学习【代码】【图】

1、Solr单机版的安装与使用,简单写了如何进行Solr的安装与使用。那么很多细节性问题,这里进行简单的介绍。我使用的是Solr与Tomcat整合配置。2、什么是Solr Home,之前写的是Solr需要和Solr home进行关联,但是什么是Solr Home呢?  答:创建一个Solr home目录,目录中包括了运行Solr实例所有的配置文件和数据文件,SolrHome是Solr运行的主目录。目录结构如下所示: 1[root@localhost example]# cd solr2[root@localhost solr]#...

NUTCH2.3 hadoop2.7.1 hbase1.0.1.1 solr4.8.1部署(二)

??Precondition:hadoop 2.7.1 hbase 1.0.1.1 / hbase 0.98.13192.168.1.106 ->master 192.168.1.105 ->slave / regionservershbase部署直接下载hbase bin文件hbase1.0.1.1 还有hbase 0.98.13 和hadoop2.7.1 / hadoop 2.5.2 配合并没有问题。只不过Nutch2.3 似乎和hbase 0.98.13 配合比较好。1. 配置hbase-site.xml<configuration> <property><name>hbase.zookeeper.quorum</name><value>192.168.1.105,192.168.1.106</value> </pro...

Solr集群搭建详细教程(二)【代码】【图】

三、solr集群搭建注意,在搭建solr集群前,建议最好有一个solr服务是已经搭建好的,可以简化大量重复的配置操作。单机solr服务搭建过程参看我的这篇文章:Solr服务在Linux上的搭建详细教程这个单机solr服务在solr集群搭建第二步和第三步里需要,搭建好一个solr服务后,就可以进行集群搭建了。第一步:创建四个tomcat实例。每个tomcat运行在不同的端口。8180、8280、8380、8480上传解压步骤省略,这是我解压好的复制tomcat到之前搭建...

一、linux系统安装配置solr8【代码】【图】

一、准备环境1、下载solr最新版本,我的是8.4.0https://lucene.apache.org/solr/downloads.html2、下载安装tomcat,我的是9.0版本,用来做启动运行solr服务,因为solr内嵌的是netty,不稳定3、下载安装jdk1.8以上版本 二、安装solr,创建目录solr,解压下载好的solr,记得,linux是tgz后缀,建议在window系统中解压,因为要用到里面的文件配置,在window系统中方便操作mkdir /usr/local/solr tar -xvf solr-8.4.0.tgz 三、把/usr/l...

使用memcached缓存 替代solr中的LRUCache缓存

前沿 在搜索引擎中,缓存被当做是不可缺少的部分,但是很多情况下,将缓存的实现过度依赖于分发服务器及webserver会很大程度上加重webserver 的负担,具体表现就是经常性的假死,拒绝服务,因此为了解放前端转发服务器,我们将使用solr + memcache后端搭档组合实现缓存。 前期准备条件:点击下面的下载地址,将memcache必备的工具包和java类下载至本地 memcached-2.2.jar spy-2.4.jar 下载地址: http://solr-side.google...