solr7.4 centos7安装

环境:centos7、JDK1.8、solr 自带Jetty启动

一、安装JDK1.8环境

1、下载JDK

jdk-8u172-linux-x64.rpm

下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

2、安装JDK

rpm -ivh jdk-8u131-linux-x64.rpm

3、配置JDK环境变量

vim /etc/profile 

在最后面加上下面这段

JAVA_HOME=/usr/java/jdk1.8.0_172-amd64

CLASSPATH=%JAVA_HOME%/lib:%JAVA_HOME%/jre/lib

PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin

export PATH CLASSPATH JAVA_HOME

4、检查是否完成安装

java -version

javac

二、安装Solr

1、下载solr

solr-7.4.0.tgz

下载地址:http://mirrors.hust.edu.cn/apache/lucene/solr/7.4.0/solr-7.4.0.tgz

2、创建目录

[root@localhost /]# mkdir /chowdate

把solr-7.4.0.tgz复制到目录 /chowdate,接着解压。

[root@localhost /]#  tar -zxvf  solr-7.4.0.tgz

3、启动Solr

localhost bin]# /chowdate/solr-7.4.0/bin/solr start -forc

4、打开页面

http://localhost:8983/solr/#/

 

5、启动到打开页面过程可能会出现的问题

如果执行./solr start -force 命令的时候会警告你系统文件打开数的问题,可以这样解决。修改完后要重启系统。

1. 修改 /etc/sysctl.conf 文件,在最后一行添加

fs.file-max = 6553560

2. 修改 /etc/security/limits.conf 文件,在最后一行添加

  1. * soft nproc 65535                 //注意,前面的星号也需要
  2. * hard nproc 65535
  3. * soft nofile 65535
  4. * hard nofile 65535

如果出现solr安装成功,但是外界访问不到的问题,请检查防火墙是否关闭,或者8983端口是否允许开放!

关闭防火墙的命令:

systemctl stop firewalld.service #停止firewall

systemctl disable firewalld.service #禁止firewall开机启动

firewall-cmd --state #查看默认防火墙状态(关闭后显示notrunning,开启后显示running)

开启端口的命令:

firewall-cmd --zone=public --add-port=8983/tcp --permanent    (--permanent永久生效,没有此参数重启后失效)

三、添加自己的solr core

1、创建core目录

在/chowdate/solr-7.4.0/server/solr目录下创建new_core目录(名字自己定)

2、复制配置文件

复制/chowdate/solr-7.4.0/server/solr/configsets/_default下的conf文件夹到/chowdate/solr-7.4.0/server/solr/new_core/下。

3、添加core

在页面添加new_core(必须先做上面1、2步,不然会提示报错)。

添加成功后/chowdate/solr-7.4.0/server/solr/new_core/下会多两个东西。

core.properties文件、data目录

四、导入数据库中的数据到Solr中

1、创建data-config.xml文件

在/chowdate/solr-7.4.0/server/solr/new_core/conf目录下创建一个文件data-config.xml,与solrconfig.xml同级

2、修改solrconfig.xml文件

修改/chowdate/solr-7.4.0/server/solr/new_core/conf/solrconfig.xml文件

在<requestHandler name="/select" class="solr.SearchHandler">上放增加以下这段代码。

  1. <requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler">
  2. <lst name="defaults">
  3. <str name="config">data-config.xml</str>
  4. </lst>
  5. </requestHandler>

其中<str name="config"></str>里的内容就是我们在上一步创建的data-config.xml文件,将它们关联起来。

3、修改data-config.xml文件

接下来我们打开data-config.xml文件,配置相关的数据库属性,即我们要导入那张表的哪些字段,内容如下:

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <dataConfig>
  3. <dataSource name="source1" type="JdbcDataSource"
  4. driver="com.mysql.jdbc.Driver"
  5. url="jdbc:mysql://10.10.9.103:3306/auth-cas"
  6. user="root"
  7. password="****"
  8. batchSize="-1" />
  9. <document>
  10. <entity name="user" dataSource="source1"
  11. query="SELECT uid,user_code,account,password,user_name,gender,last_login_time,update_time FROM uap_tb_gmvcs_user">
  12. <field column='uid' name='uid' />
  13. <field column='user_code' name='user_code' />
  14. <field column='account' name='account' />
  15. <field column='password' name='password' />
  16. <field column='user_name' name='user_name' />
  17. <field column='gender' name='gender' />
  18. <field column='last_login_time' name='last_login_time' />
  19. <field column='update_time' name='update_time' />
  20. </entity>
  21. </document>
  22. </dataConfig>

dataSource 中,url是你要访问的数据库路径,我这里指定到我的auth-cas 数据库。user是用户名,password是你的数据库密码。

query是一个sql语句,你需要导入哪张表的哪些字段,查就行了。然后<field>标签中的column属性是你SQL语句中查询的字段,跟数据库中对应;name属性是你给它起的一个别名,应该是必须指定的(本人没试过不指定的结果),至于name属性是干嘛的,继续往下操作,自然会明白。有多个查询字段就需要有多个<field>标签,每一个<field>标签对应一个字段。

document配置数据库查询语句与managed_schema域的对应关系。目的是,在core导入数据的时候,会先通过该配置信息链接到数据库通过查询语句把数据查询出来,通过数据库字段与managed_schema域关联关系创建索引

4、修改managed-schema文件

修改/chowdate/solr-7.4.0/server/solr/new_core/conf/managed-schema文件,将刚才在data-config.xml中配置的<field>标签添加进来。

  1. <field name="id" type="string" indexed="true" stored="true" required="true" multiValued="false" />
  2. <!-- docValues are enabled by default for long type so we don't need to index the version field -->
  3. <field name="_version_" type="plong" indexed="false" stored="false"/>
  4. <field name="_root_" type="string" indexed="true" stored="false" docValues="false" />
  5. <field name="_text_" type="text_general" indexed="true" stored="false" multiValued="true"/>
  6. <!-- 上面是原有的的字段 -->
  7. <!-- 自己的导入的字段 -->
  8. <field name="uid" type="string" indexed="true" stored="true" />
  9. <field name="user_code" type="string" indexed="true" stored="true" />
  10. <field name="account" type="string" indexed="true" stored="true" />
  11. <field name="password" type="string" indexed="true" stored="true" />
  12. <field name="user_name" type="string" indexed="true" stored="true" />
  13. <field name="gender" type="string" indexed="true" stored="true" />
  14. <field name="last_login_time" type="pdate" indexed="true" stored="true" />
  15. <field name="update_time" type="pdate" indexed="true" stored="true" />

这里<field>里的name属性值,就是我们刚才在data-config.xml中<field>标签的name属性值,这是name属性的第一个用途,关联起来。

name:是这个域的名称,在整个managed_schema文件里面需要唯一,不能重复,这里定义成跟数据库表字段的名称,方便使用。当然,也可以定义成其他名字。

type:是表示这个字段的类型是什么,string是字符串类型,int是整形数据类型,date是时间类型,相当于数据库里面的timestamp。

indexed:表示是否索引,索引的话就能查询到,否则,搜索的时候,不会出现。

stored:表示是否存储到索引库里面。

required:是否必须

multiValued:是否多值,比如商品信息中,一个商品有多张图片,一个Field想存储多个值的话,必须将multiValued设置为true

5、下载连接数据库和导入数据的jar包

现在涉及到数据库了,肯定需要依赖一些jar包,下载三个jar包 下载地址:http://mvnrepository.com/

mysql-connector-java-8.0.11.jar

solr-dataimporthandler-7.4.0.jar

solr-dataimporthandler-extras-7.4.0.jar

三个jar包 放到/chowdate/solr-7.4.0/server/solr-webapp/webapp/WEB-INF/lib 目录下

然后打开/chowdate/solr-7.4.0/server/solr/new_core/conf/solrconfig.xml,引用上面提到的jar包,如下。

  1. <!-- mysql导入增加的包开始--> 
  2. <lib dir="${solr.install.dir:../../../..}/dist/" regex="mysql-connector-java-.*\.jar" /> 
  3. <lib dir="${solr.install.dir:../../../..}/dist/" regex="solr-dataimporthandler-.*\.jar" /> 
  4. <!-- mysql导入增加的包结束-->

关闭然后重启  ./bin/solr stop -all       ./bin/solr  start  -force   

6、导入数据

再次访问我们刚才的页面,在左侧找到我们部署好的new_core工程,点击Dataimport,再选择full-import(全部导入),点击Execute,出现下面的页面,证明这张表的数据已经导入进来了。

6、查找数据

转载于:https://www.cnblogs.com/Ai-Hen-Jiao-zhi/p/9602135.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/266090.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

How to Fix an App that Crashes in Release but n...

2019独角兽企业重金招聘Python工程师标准>>> 今天在测试app时&#xff0c;发现app store上版本有奔溃现象&#xff0c;但是直接用xcode跑本地程序没问题。猜测release&debug版本造成的&#xff0c;后发现targets的 optimization level设置问题&#xff0c;将rel…

斐波那契数列c++代码_轮到你了,斐波那契数列!

前阵子&#xff0c;日剧“轮到你了”终于大结局了&#xff0c;虽然结局有点一言难尽&#xff0c;但黑岛和二阶堂两个学霸之间的爱情&#xff0c;还是很甜呢呐&#xff01;两个学霸之间的默契的斐波那契数列也被许多网友认为是凶手行凶的依据。到底这数列有啥神奇之处&#xff0…

悖论对计算机科学影响,引力波的发现对计算机科学有什么意义?

满意答案saihdfa2016.02.28采纳率&#xff1a;43% 等级&#xff1a;10已帮助&#xff1a;420人引力波的发现对计算机科学的意义&#xff1a;允许引力波携带有更多的之前从未被观测过的信息。引力波有两个非常重要而且比较独特的性质。第一&#xff1a;不需要任何的物质存在于…

全国计算机等级考试题库二级C操作题100套(第98套)

更多干货推荐可以去牛客网看看&#xff0c;他们现在的IT题库内容很丰富&#xff0c;属于国内做的很好的了&#xff0c;而且是课程刷题面经求职讨论区分享&#xff0c;一站式求职学习网站&#xff0c;最最最重要的里面的资源全部免费&#xff01;&#xff01;&#xff01;点击进…

光动能表怎么维护_西铁城手表推荐,西铁城光动能表推荐选购指南

有的朋友们在京东上面看到款式多样的西铁城手表和西铁城光动能手表的时候&#xff0c;不知道怎么选择哪一款适合自己佩戴的&#xff1f;那么今天我就通过这篇文章&#xff0c;跟大家详细的分享一下关于西铁城手表的知识。让大家在选购的时候更加清晰明了的知道哪一款适合自己。…

python-2:工欲善其事,必先利其器 修改jupyter保存文件目录(亲测)

在桌面上创建 Jupyter Notebook快捷方式图标.将打开的Jupyter Notebook程序关闭&#xff0c;然后找到桌面快捷方式&#xff0c;右键>属性&#xff0c;然后把目标后面输入框最后的“%USERPROFILE%”这个参数去掉后&#xff0c;确定。否则之后做的其它修改无法生效。打开 cmd …

全国计算机等级考试题库二级C操作题100套(第99套)

更多干货推荐可以去牛客网看看&#xff0c;他们现在的IT题库内容很丰富&#xff0c;属于国内做的很好的了&#xff0c;而且是课程刷题面经求职讨论区分享&#xff0c;一站式求职学习网站&#xff0c;最最最重要的里面的资源全部免费&#xff01;&#xff01;&#xff01;点击进…

全国计算机等级考试题库二级C操作题100套(第100套)

更多干货推荐可以去牛客网看看&#xff0c;他们现在的IT题库内容很丰富&#xff0c;属于国内做的很好的了&#xff0c;而且是课程刷题面经求职讨论区分享&#xff0c;一站式求职学习网站&#xff0c;最最最重要的里面的资源全部免费&#xff01;&#xff01;&#xff01;点击进…

安卓APP_ 其他(1) —— 程序的签名打包并在手机上运行

摘自&#xff1a;安卓APP_ 其他&#xff08;1&#xff09; —— 程序的签名打包并在手机上运行 作者&#xff1a;丶PURSUING 发布时间&#xff1a; 2021-03-29 20:58:26 网址&#xff1a;https://blog.csdn.net/weixin_44742824/article/details/115310388 刚学到第四个控件&am…

计算机数据恢复专业,专业电脑数据恢复软件哪个好

原标题&#xff1a;专业电脑数据恢复软件哪个好在我们日常清理电脑时&#xff0c;有时会意外删除一些有用的文件&#xff0c;比如重要文件、照片等。这时就需要使用数据恢复软件尝试恢复数据。EasyRecovery是一款强大有效实现数据恢复的软件&#xff0c;软件占用空间小&#xf…

C#开发移动应用系列(2.使用WebView搭建WebApp应用)

C#开发移动应用系列(2.使用WebView搭建WebApp应用) 原文:C#开发移动应用系列(2.使用WebView搭建WebApp应用)前言上篇文章地址:C#开发移动应用系列(1.环境搭建) 嗯..一周了 本来打算2天一更的 - - ,结果 出差了..请各位原谅.. 今天我们来讲一下使用WebView搭建WebApp应用. 说明一…

new 一个模板、类_Java必备基础-类(Class)

你好&#xff0c;我是goldsunC让我们一起进步吧&#xff01;类上一篇文章介绍了Java的基础数据类型和引用数据类型中的数组&#xff0c;引用数据类型除了数组之外&#xff0c;还包括类和接口。那什么是引用数据类型呢&#xff1f;看个例子&#xff1a;public class Test {publi…

华北电力大学计算机科学与技术考研,华北电力大学吴克河教授谈计算机科学与技术专业...

导语&#xff1a;读万卷书不如行万里路&#xff0c;行万里路不如名师点悟。选导师也是个大学问——择师而师&#xff0c;不可草草。为此我们特邀请众多精英导师&#xff0c;我们期待他们的亲身经历和观点建议&#xff0c;能够给考研路上的你以参考……华北电力大学计算机科学与…

安卓APP_ 控件(4)—— ImageView

摘自&#xff1a;安卓APP_ 控件&#xff08;4&#xff09;—— ImageView 作者&#xff1a;丶PURSUING 发布时间&#xff1a; 2021-03-29 21:52:06 网址&#xff1a;https://blog.csdn.net/weixin_44742824/article/details/115311375 开篇&#xff1a;安卓APP_ 控件&#xff0…

使用python的openpyxl模块操作excel

openpyxl&#xff08;可读写excel表&#xff09;专门处理Excel2007及以上版本产生的xlsx文件&#xff0c;xls和xlsx之间转换容易 openpyxl的安装 模块的引入 from openpyxl import Workbook from openpyxl.styles import Color, Font, Alignment from openpyxl.styles import B…

安卓APP_ 控件(5)—— ProgressBar

摘自&#xff1a;安卓APP_ 控件&#xff08;5&#xff09;—— ProgressBar 作者&#xff1a;丶PURSUING 发布时间&#xff1a; 2021-03-31 13:03:07 网址&#xff1a;https://blog.csdn.net/weixin_44742824/article/details/115313496 控件ProgressBar就是对进度条的设定&…

sql 写query_为什么需要动态SQL

为什么需要动态SQL在使用 EF或者写 SQL语句时&#xff0c;查询条件往往是这样一种非常常见的逻辑&#xff1a;如果客户填了查询信息&#xff0c;则查询该条件&#xff1b;如果客户没填&#xff0c;则返回所有数据。我常常看到很多人解决这类问题时使用了错误的静态 SQL的解决办…

AMBA总线协议AHB、APB

一、什么是AMBA总线 AMBA总线规范是ARM公司提出的总线规范&#xff0c;被大多数SoC设计采用&#xff0c;它规定了AHB (Advanced High-performance Bus)、ASB (Advanced System Bus)、APB (Advanced Peripheral Bus)。AHB用于高性能、高时钟频率的系统结构&#xff0c;典型的应用…

安卓APP_ 控件(6)—— Notification通知

摘自&#xff1a;安卓APP_ 控件&#xff08;6&#xff09;—— Notification通知 作者&#xff1a;丶PURSUING 发布时间&#xff1a; 2021-04-02 00:30:14 网址&#xff1a;https://blog.csdn.net/weixin_44742824/article/details/115382674 Notification通知的使用 一、创建一…