部署solr

本文详细介绍了如何在Linux系统上部署Solr,包括安装JDK,配置环境变量,下载并安装Solr,通过Tomcat启动Solr,以及添加Ik分词器,创建核心,添加数据等步骤。同时提到了Solr的查询操作和常用的命令,为Solr的使用提供了全面的指南。
摘要由CSDN通过智能技术生成

windows部署步骤和Linux一样

1、安装jdk

1.1 下载安装包

确定架构
$ uname -m

下载地址
https://www.oracle.com/java/technologies/javase/javase8u211-later-archive-downloads.html
在这里插入图片描述

解压
$ tar -zxvf jdk-8u331-linux-aarch64.tar.gz -C /usr/local/

1.2 配置环境变量

$ vim /etc/profile

按insert键
在文件末尾添加三个环境变量
export JAVA_HOME=/usr/local/jdk1.8.0_331(改为jdk解压后文件所在目录)
export PATH= J A V A H O M E / b i n : JAVA_HOME/bin: JAVAHOME/bin:PATH
export CLASSPATH=.: J A V A H O M E / l i b / d t . j a r : JAVA_HOME/lib/dt.jar: JAVAHOME/lib/dt.jar:JAVA_HOME/lib/tools.jar
在这里插入图片描述

按Esc键 然后输入
$ :wq
保存并且退出

退出后输入
$ source /etc/profile
使环境变量生效

1.3 测试jdk是否安装成功

$ java -version

2、下载solr

sol官网下载地址:https://solr.apache.org/downloads.html
在这里插入图片描述

或通过命令下载
$ wget https://www.apache.org/dyn/closer.lua/lucene/solr/7.7.3/solr-7.7.3.tgz
解压 到指定目录下
$ tar zxvf solr-7.7.3.tgz -C /usr/local/

3、通过tomcat启动solr

3.1、下载tomcat

下载 可通过命令下载或者直接通过网址手动下载
$ wget https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.62/bin/apache-tomcat-9.0.62.tar.gz
解压
tar zxvf pache-tomcat-9.0.62.tar.gz -C /usr/local/

3.2、准备依赖包

$ cd /usr/local/solr-7.7.3/server/solr-webapp/

$ cp -r webapp/ /usr/local/apache-tomcat-9.0.62/webapps/solr

$ cp /usr/local/solr-7.7.3/server/lib/ext/* /usr/local/apache-tomcat-9.0.62/webapps/solr/WEB-INF/lib/

$ cp /usr/local/solr-7.7.3/server/lib/metrics-* /usr/local/apache-tomcat-9.0.62/webapps/solr/WEB-INF/lib/

3.3、配置 solrhome

$ cp -r /usr/local/solr-7.7.3/server/solr /usr/local/solr-7.7.3/solrhome

3.4、配置tomcat

$ vim /usr/local/apache-tomcat-9.0.62/webapps/solr/WEB-INF/web.xml

加入如下内容:

<!-- 修改solrhome路径-->
  <env-entry>
    <env-entry-name>solr/home</env-entry-name>
    <env-entry-value>/usr/local/solr-7.7.3/solrhome</env-entry-value>
    <env-entry-type>java.lang.String</env-entry-type>
  </env-entry>

去掉安全验证:

  <!-- Get rid of error message -->
  <!--
  <security-constraint>
    <web-resource-collection>
      <web-resource-name>Disable TRACE</web-resource-name>
      <url-pattern>/</url-pattern>
      <http-method>TRACE</http-method>
    </web-resource-collection>
    <auth-constraint/>
  </security-constraint>
  <security-constraint>
    <web-resource-collection>
      <web-resource-name>Enable everything but TRACE</web-resource-name>
      <url-pattern>/</url-pattern>
      <http-method-omission>TRACE</http-method-omission>
    </web-resource-collection>
  </security-constraint>
-->

3.5、验证solr部署

启动tomcat进行测试
$ /usr/local/apache-tomcat-9.0.62/bin/startup.sh

访问: http://www.localhost:8080/solr/index.html#/

在这里插入图片描述

4、直接启动solr

4.1、安装ik分词器并且添加字段

IKAnalyzer.jar下载地址:https://mvnrepository.com/artifact/com.github.magese/ik-analyzer

引入IKAnalyzer.jar包到solr应用程序的WEB-INF/lib/目录下/server/solr-webapp/webapp/WEB-INF/lib/

添加字段

在solr的安装目录下进入
/server/solr/configsets/_default/conf/managed-schema

在这里插入图片描述

<!-- 添加ik分词类型 -->
<fieldType name="ik_word" class="solr.TextField">
      <analyzer type="index">
        <tokenizer class="org.wltea.analyzer.lucene.IKTokenizerFactory" useSmart="false" conf="ik.conf"/>
        <filter class="solr.LowerCaseFilterFactory"/>
      </analyzer>
      <analyzer type="query">
        <tokenizer class="org.wltea.analyzer.lucene.IKTokenizerFactory" useSmart="true" conf="ik.conf"/>
        <filter class="solr.LowerCaseFilterFactory"/>
      </analyzer>
    </fieldType>

   <!-- 自定义添加filed -->
  <field name="description" type="ik_word" indexed="true" stored="true"/>

4.2、启动solr

在solr安装目录下
$ bin/solr start

进入页面验证是否启动成功
http://www.localhost:8983/solr/index.html#/
在这里插入图片描述

4.3、创建core

在solr安装目录下
$ bin/solr create -c “book_core”
在这里插入图片描述

4.4、添加数据

直接写数据不需要在外层加[ ].
在这里插入图片描述

4.5、Solr查询

Solr查询规则

名称 描述
q 查询字符串,必须的。
fq filter query。使用Filter Query可以充分利用Filter Query Cache,提高检索性能。作用:在q查询符合结果中同时是fq查询符合的,例如:q=mm&fq=date_time:[20081001 TO 20091031],找关键字mm,并且date_time是20081001到20091031之间的。
fl field list。指定返回结果字段。以空格“ ”或逗号“,”分隔。
start 用于分页定义结果起始记录数,默认为0。
rows 用于分页定义结果每页返回记录数,默认为10。
sort 排序,格式:sort=+<desc|asc>[,+<desc|asc>]… 。示例:(inStock desc, price asc)表示先 “inStock” 降序, 再 “price” 升序,默认是相关性降序。
df 默认的查询字段,一般默认指定。
q.op 覆盖schema.xml的defaultOperator(有空格时用"AND"还是用"OR"操作逻辑),一般默认指定。必须大写
wt writer type。指定查询输出结构格式,默认为“xml”。在solrconfig.xml中定义了查询输出格式:xml、json、python、ruby、php、phps、custom。
qt query type,指定查询使用的Query Handler,默认为“standard”。
explainOther 设置当debugQuery=true时,显示其他的查询说明
defType 设置查询解析器名称
timeAllowed 设置查询超时时间
omitHeader 设置是否忽略查询结果返回头信息,默认为“false”
indent 返回的结果是否缩进,默认关闭,用 indent=true|on 开启,一般调试json,php,phps,ruby输出才有必要用这个参数
version 查询语法的版本,建议不使用它,由服务器指定默认值
debugQuery 设置返回结果是否显示Debug信息

Solr查询操作

Solr的检索运算符
  “:” 指定字段查指定值,如返回所有值*😗

“?” 表示单个任意字符的通配

” 表示多个任意字符的通配(不能在检索的项开始使用或者?符号)

“~” 表示模糊检索,如检索拼写类似于”roam”的项这样写:roam将找到形如foam和roams的单词;roam0.8,检索返回相似度在0.8以上的记录。

AND、|| 布尔操作符

OR、&& 布尔操作符

NOT、!、-(排除操作符不能单独与项使用构成查询)

“+” 存在操作符,要求符号”+”后的项必须在文档相应的域中存在²

( ) 用于构成子查询

[] 包含范围检索,如检索某时间段记录,包含头尾,date:[201507 TO 201510]

{} 不包含范围检索,如检索某时间段记录,不包含头尾date:{201507 TO 201510}
在这里插入图片描述

solr常用命令

查看帮助

bin/solr -help
可以看到solr有哪些子命令,如 start, stop, restart, status, healthcheck, create, create_core, create_collection, delete, version

启动start

bin/solr start -help 查看start帮助
bin/solr start 启动单机版
bin/solr start -f 前台启动
bin/solr start -p 8984 指定端口启动
bin/solr start -cloud 启动分布式版本
bin/solr start -e cloud -noprompt -e表示要启动一个现有的例子,例子名称是cloud,cloud这个例子是以SolrCloud方式启动的
bin/solr restart 重启项目

create

如果是单机版要创建core,如果是分布式的要创建collection
bin/solr create -help 查看create帮助
bin/solr create -c abc
abc是core或collection的名字,取决于solr是单机版还是cloud版本;刷新http://localhost:8983/solr ,可以看到core selector中多了一个abc
abc目录的位置创建在 solr.solr.home(默认是solr的server/solr目录)目录下

post提交数据生成索引

bin/post -c abc docs/
向名为abc的core或collection提交数据,数据源在docs/目录中

删除

bin/solr delete -c abc 删除一个core或collection

删除索引

bin/post -c abc -d “/home/matthewi/software/solr-5.4.1/docs/solr-morphlines-core/allclasses-noframe.html”
重新执行上面的搜索可以看到搜索结果的数量少了一条:numFound列

删除所有数据

bin/post -c abc -d “:

停止solr

bin/solr stop -all

状态

bin/solr status

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值