一、前言

在上一篇博客中,小编向大家深入的介绍了一下搜索引擎,稍微提出了Solr。封装及扩展性较好,提供了较为完备的解决方案,因此在门户社区中采用此方案,后期加入Compass方案。 基于这些性能优势,在一些门户网站上,使用Solr进行站内搜索还是比较高效的。下面就向大家介绍一下如何搭建一个单机版的Solr服务。

二、环境介绍

  • Linux ,小编使用的Centos7

  • jdk

  • tomcat

三、搭建过程

3.0 上传文件

上传如下文件,到usr/local/src下:

3.1 安装jdk

a、下载jdk并上传到/usr/java目录

jdk7下载地址为:http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html 选择对应的linux版本,下载rpm文件。这里选择的是jdk-7u79-linux-x64.rpm。在usr下建立java文件夹,并上传到Linux的/usr/java目录下(java目录不存在则进行创建)。

b、解压安装

运行如下命令进行解压

rpm -ivh 文件名称

c、配置profile文件

运行如下命令:

vim /etc/profile

内容添加到profile文件末尾并保存

export JAVA_HOME=/usr/java/jdk1.8.0_131
export CLAsspATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin

保存之后,运行如下命令使配置生效

source /etc/profile

检查jdk是否安装成功,运行如下命令

java -version

3.2 安装tomcat

解压tomcat

tar -zxf apache-tomcat-7.0.47.tar.gz

在usr/local路径下建立solr/tomcat文件夹,向/usr/local/solr/tomcat中拷贝一份tomcat

cp apache-tomcat-7.0.47 /usr/local/solr/tomcat -r

3.3 解压solr压缩包

解压solr

tar -zxf solr-4.10.3.tgz.tgz

把dist/solr-4.10.3.war部署到tomcat下。

cp solr-4.10.3.war /usr/local/solr/tomcat/webapps/solr.war

3.4 启动tomcat解压拷贝的war包

启动tomcat解压拷贝的war包,注意: tomcat 运行的前提是要有jdk

./startup.sh

3.5 需要把/root/solr-4.10.3/example/lib/ext目录下的所有的jar包添加到solr工程中

cp * /usr/local/solr/tomcat/webapps/solr-4.10.3/WEB-INF/lib/ -r

3.6 创建solrhome

把/root/solr-4.10.3/example/solr文件夹复制一份作为solrhome。

创建solrhome

cp -r solr /usr/local/solr/solrhome

Schema.xml 定义了所有的域
Solrconfig.xml 定义了所有的handeler

3.7 修改tomcat下solr的web.xml

告诉solr服务solrhome的位置。需要修改web.xml

3.8 配置中文分析器

a.把IKAnalyzer依赖的jar包添加到solr工程中。把分析器使用的扩展词典添加到classpath中。

cp IKAnalyzer2012FF_u1.jar /usr/local/solr/tomcat/webapps/solr/WEB-INF/lib/

b.需要自定义一个FieldType。Schema.xml中定义。可以在FieldType中指定中文分析器。

<fieldType name="text_ik" class="solr.TextField">
  <analyzer class="org.wltea.analyzer.lucene.IKAnalyzer"/>
</fieldType>

c.自定义域

指定域的类型为自定义的FieldType。

举一个例子:比如我们使用的sql语句是这样的

 SELECT a.id,a.title,a.sell_point,a.price,a.image,b.`name` category_name,c.item_desc FROM tb_item a LEFT JOIN tb_item_cat b ON a.cid = b.id LEFT JOIN tb_item_desc c ON a.id = c.item_id WHERE a.`status` = 1 

需要配置的代码:

<field name="item_title" type="text_ik" indexed="true" stored="true"/>
<field name="item_sell_point" type="text_ik" indexed="true" stored="true"/>
<field name="item_price"  type="long" indexed="true" stored="true"/>
<field name="item_image" type="string" indexed="false" stored="true" />
<field name="item_category_name" type="string" indexed="true" stored="true" />
<field name="item_desc" type="text_ik" indexed="true" stored="false" />

<field name="item_keywords" type="text_ik" indexed="true" stored="false" multiValued="true"/>
<copyField source="item_title" dest="item_keywords"/>
<copyField source="item_sell_point" dest="item_keywords"/>
<copyField source="item_category_name" dest="item_keywords"/>
<copyField source="item_desc" dest="item_keywords"/>

3.9 启动tomcat

输入访问的网址:http://192.168.137.13:8080 ,访问效果如下:

四、小结

solr的单机搭建过程还是比较简单的, 使用也是比较方便的,操作流程。另外就是注意要关闭防火墙或者是开启指定的端口。然后别的就没有什么了。

下一篇博客向大家带来如何使用Solr,如何向Solr中导入数据。

【Solr】深入浅出Solr二——搭建单机服务的更多相关文章

  1. I&#39;我使用solr进行地址搜索,我得到的结果取决于单词顺序

    我创建了自定义过滤器,其中删除特殊字符并添加同义词

  2. CentOs7.3 搭建 Solr单机服务

    CentOs7.3搭建Solr单机服务Solr是什么?Solr是一款优秀的基于Lucene的全文检索服务器,它对Lucene进行了扩展,提供了非常丰富的查询语言,并对查询进行了性能优化。Solr和Lucene都由ApacheSoftwareFoundation管理。检查您的端口号,然后重试。

  3. 【Solr】深入浅出Solr二——搭建单机服务

    基于这些性能优势,在一些门户网站上,使用Solr进行站内搜索还是比较高效的。下面就向大家介绍一下如何搭建一个单机版的Solr服务。创建solrhomeSchema.xml定义了所有的域Solrconfig.xml定义了所有的handeler3.7修改tomcat下solr的web.xml告诉solr服务solrhome的位置。下一篇博客向大家带来如何使用Solr,如何向Solr中导入数据。

  4. php – 在solr / lucene中过滤存储在远程数据库中的字段的最佳方法?

    就像编写直接连接数据库的solr模块一样?如果觉得DEVMAX网站内容还不错,欢迎将DEVMAX网站推荐给好友。

  5. php – 搜索框在Symfony2与Solr

    我想在我的网站的首页创建搜索框,但我不知道如何使用Solr创建一个.我所有的网站都是在Symfony2开发的.我不使用数据库进行搜索.我该怎么办?

  6. php – Zend_Search_Lucene vs SOLR

    Lucene项目的ZendLucene港口令我感到沮丧.我有一点SOLR的经验,所以我想知道两者之间的区别,特别是从性能和安装方面.就像我所知道的,SOLR需要在托管中运行Tomcatserverlet才能工作,ZendLucene库呢?我也有点混淆什么意思是“在Lucene的顶层实施”?

  7. Solr之——CentOS安装与配置Solr6.5

    在系统根目录下建立down目录。然后依次下载上面的三个软件。下载完成后如下:/down├──apache-tomcat-8.5.12.tar.gz├──jdk-8u121-linux-x64.tar.gz└──solr-6.5.0.tgz二、jdk安装与配置:1、安装2、配置:修改系统环境变量文件:向文件里面追加以下内容:是修改生效:查看系统环境状态:查看JAVA版本:至此jdk安装完毕。

  8. 在CentOS6上安装Apache Sorl 6.3.0

    Solr支持世界上许多最大的互联网网站的搜索和导航功能。安装系统要求ApacheSolr在Java8或更高版本上运行,由于solr是用java开发的,所以你要保证机器上有安装JDK,关于这个信息可以到网上搜索。对于所有Java版本,强烈建议不要使用实验性的-XXJVM选项。另外还要注意你安装solr的机器是否有开启8983这个端口。装填索引数据Solr服务器已启动并正在运行,但它不包含任何数据。我们可以使用Solr安装时自带的bin/post工具,把一些示例数据装载到Solr中,待会方便观察效果。

  9. CentOS下搭建Solr及配置中文分词器

    CentOS下搭建Solr及配置中文分词器什么是SolrSolr的安装配置1下载2安装步骤及配置第一步安装Linuxjdktomcat第二步把solr的压缩包上传至服务器并解压第三步将solr部署到tomcat容器第四步启动tomcat3Solr界面功能安装中文分词器1上传IKAnalyzer的文件到linux服务器配置schemaxml文件2配置业务字段CentOS下搭建Solr及配置中文分词器1.什么是Solr?Solr是一个全文检索服务器,只需要进行配置就可以实现全文检索服务。

  10. centos 6.6 使用tomcat6部署solr5.3.1

    网上关于solr在tomcat部署的文章基本上都是4.x的,现在记录下自己在tomcat6下快捷部署solr5.3.1。solr官网:http://lucene.apache.org/solr下载地址:http://mirrors.cnnic.cn/apache/lucene/solr/5.3.1/solr-5.3.1.tgz安装tomcat6因为安装tomcat6同时自动安装了JRE,所以不需要另行安装。

随机推荐

  1. 在airgapped(离线)CentOS 6系统上安装yum软件包

    我有一个CentOS6系统,出于安全考虑,它已经被空气泄漏.它可能从未连接到互联网,如果有,它很长时间没有更新.我想将所有.rpm软件包放在一个驱动器上,这样它们就可以脱机安装而无需查询互联网.但是,我在测试VM上遇到的问题是,即使指定了本地路径,yum仍然会挂起并尝试从在线存储库进行更新.另外,有没有办法使用yum-utils/yumdownloader轻松获取该包的所有依赖项和所有依赖项?目前

  2. centos – 命名在日志旋转后停止记录到rsyslog

    CentOS6.2,绑定9.7.3,rsyslog4.6.2我最近设置了一个服务器,我注意到在日志轮换后,named已停止记录到/var/log/messages.我认为这很奇怪,因为所有日志记录都是通过rsyslog进行的,并且named不会直接写入日志文件.这更奇怪,因为我在更新区域文件后命名了HUPed,但它仍然没有记录.在我停止并重新启动命名后,记录恢复.这里发生了什么?

  3. centos – 显示错误的磁盘大小

    对于其中一个磁盘,Df-h在我的服务器上显示错误的空白区域:Cpanel表明它只有34GB免费,但还有更多.几分钟前,我删除了超过80GB的日志文件.所以,我确信它完全错了.fdisk-l/dev/sda2也显示错误:如果没有格式化,我该怎么做才能解决这个问题?并且打开文件描述符就是它需要使用才能做到这一点.所以…使用“lsof”并查找已删除的文件.重新启动写入日志文件的服务,你很可能会看到空间可用.

  4. 如何在centos 6.9上安装docker-ce 17?

    我目前正在尝试在centOS6.9服务器上安装docker-ce17,但是,当运行yuminstalldocker-ce时,我收到以下错误:如果我用跳过的标志运行它我仍然得到相同的消息,有没有人知道这方面的方法?

  5. centos – 闲置工作站的异常负载平均值

    我有一个新的工作站,具有不寻常的高负载平均值.机器规格是:>至强cpu>256GB的RAM>4x512GBSSD连接到LSI2108RAID控制器我从livecd安装了CentOS6.564位,配置了分区,网络,用户/组,并安装了一些软件,如开发工具和MATLAB.在启动几分钟后,工作站负载平均值的值介于0.5到0.9之间.但它没有做任何事情.因此我无法理解为什么负载平均值如此之高.你能帮我诊断一下这个问题吗?

  6. centos – Cryptsetup luks – 检查内核是否支持aes-xts-plain64密码

    我在CentOS5上使用cryptsetupluks加密加密了一堆硬盘.一切都很好,直到我将系统升级到CentOS6.现在我再也无法安装磁盘了.使用我的关键短语装载:我收到此错误:在/var/log/messages中:有关如何装载的任何想法?找到解决方案问题是驱动器使用大约512个字符长的交互式关键短语加密.出于某种原因,CentOS6中的新内核模块在由旧版本创建时无法正确读取512个字符的加密密钥.似乎只会影响内核或cryptsetup的不同版本,因为在同一系统上创建和打开时,512字符的密钥将起作用

  7. centos – 大量ssh登录尝试

    22个我今天登录CentOS盒找到以下内容这是过去3天内的11次登录尝试.WTF?请注意,这是我从我的提供商处获得的全新IP,该盒子是全新的.我还没有发布任何关于此框的内容.为什么我会进行如此大量的登录尝试?是某种IP/端口扫描?基本上有4名匪徒,其中2名来自中国,1名来自香港,1名来自Verizon.这只发生在SSH上.HTTP上没有问题.我应该将罪魁祸首子网路由吗?你们有什么建议?

  8. centos – kswap使用100%的CPU,即使有100GB的RAM也可用

    >Linux内核是否应该足够智能,只需从内存中清除旧缓存页而不是启动kswap?

  9. centos – Azure将VM从A2 / 3调整为DS2 v2

    我正在尝试调整前一段时间创建的几个AzureVM,从基本的A3和标准A3到标准的DS2v2.我似乎没有能力调整到这个大小的VM.必须从头开始重建服务器会有点痛苦.如果它有所不同我在VM中运行CentOS,每个都有一个带有应用程序和操作系统的磁盘.任何人都可以告诉我是否可以在不删除磁盘的情况下删除VM,创建新VM然后将磁盘附加到新VM?

  10. centos – 广泛使用RAM时服务器计算速度减慢

    我在非常具体的情况下遇到服务器速度下降的问题.事实是:>1)我使用计算应用WRF>2)我使用双XeonE5-2620v3和128GBRAM(NUMA架构–可能与问题有关!

返回
顶部