系统相关
首页 > 系统相关> > Linux环境安装Solr8.9,采用自带的Jetty启动方式及配置

Linux环境安装Solr8.9,采用自带的Jetty启动方式及配置

作者:互联网

1、采用自带的Jetty启动及配置方式

下载安装的方法就省略了,相信你可以搞定…

环境要求: (JDK1.8及以上)

1、下载solr-8.9.0.tgz后将其解压

	tar -zxvf solr-8.9.0.tgz

2、到 /solr-8.9.0/server/solr下创建索引核心库: demoCore,然后将 /solr-8.9.0/server/solr/configsets/_default下的conf复制到新建索引核心库demoCore下

1、mkdir demoCore
2、cp -r /solr-8.9.0/server/solr/configsets/_default/conf  /solr-8.9.0/server/solr/demoCore

3、使用自带的中文分词器 lucene-analyzers-smartcn
将lucene-analyzers-smartcn.jar 复制到 solr-8.9.0/server/solr-webapp/webapp/WEB_INF/lib下

cp /solr-8.9.0/contrib/analysis-extras/lucene-libs/lucene-analyzers-smartcn-8.9.0.jar  /solr-8.9.0/server/solr-webapp/webapp/WEB-INF/lib

4、在核心demoCore的conf里的managed-schema添加一下内容

 <!-- 配置中文分词器 -->
<fieldType name="text_smartcn" class="solr.TextField" positionIncrementGap="100">
    <analyzer type="index">
        <tokenizer class="org.apache.lucene.analysis.cn.smart.HMMChineseTokenizerFactory"/>
    </analyzer>
    <analyzer type="query">
        <tokenizer class="org.apache.lucene.analysis.cn.smart.HMMChineseTokenizerFactory"/>
    </analyzer>
</fieldType>

5、采用自带的jetty启动:(默认的端口是8983)

   进入到  /solr-8.9.0/bin目录
   启动命令:./solr start -force
   停止命令:./solr stop -all
   重启命令:./solr restart -force

6、访问方式 http://ip:端口号/solr (例如)

 http://120.78.180.121:8983/solr

在这里插入图片描述
在这里插入图片描述
如果不是先执行的步骤2,而是解压后直接采用步骤6启动访问,再通过solr管理界面创建索引核心库,则上图圈起的两处索引库名称可以随便填写(如orderCore),只需保持两处名称一致保存,会提示保存报错,无法找到orderCore的solrconfig.xml。
需要从步骤2开始执行到步骤5。 创建你刚才所填写的名称库orderCore,重新启动访问然后再重新添加你刚才的索引库orderCore,保存则会成功。

7、添加需存储字段
在这里插入图片描述

上图的步骤为:
1 选择所创建的核心库
2 点击Schema
3 添加字段
4 填写字段名称
5 选择字段类型
具体根据实际业务需求来

8、由于启动后默认是不用登入即可访问Solr管理界面,这样就暴露了Solr核心库,易引起他人删除索引库等等,故配置登入权限才可以了访问Solr管理界面

进入到  /solr-8.9.0/server/etc
在此目录下新建role.properties 配置文件(名字随意)打开文件进行编辑 , 内容如下:
#用户名 密码 权限
user:pass,admin
(如:admin:123456,admin)
也可配置多用户
#用户名 密码 权限
user: pass,admin
user1: pass,admin
user3: pass,admin
接着找到目录: /solr-8.9.0/server/contexts   打开solr-jetty-context.xml文件进行编辑
在文件configure中添加获取用户文件的配置,内容如下
<Get name="securityHandler">    
  <Set name="loginService">    
     <New class="org.eclipse.jetty.security.HashLoginService">    
        <Set name="name">admin</Set>   <!--名称-->
        <!-- 配置刚刚创建的角色文件地址 -->
        <Set name="config"><SystemProperty name="jetty.home" default="."/>/etc/role.properties</Set>    
     </New>    
  </Set>    
</Get>
最后进入到 /solr-8.9.0/server/solr-webapp/webapp/WEB-INF下  编辑web.xml ,在文件中找到security-constraint的配置,在之后追加以下内容,然后保存重启Jetty即可,此时再访问则需要登入
  <security-constraint>
    <web-resource-collection>
      <web-resource-name>Solr</web-resource-name>
      <url-pattern>/</url-pattern>
    </web-resource-collection>   
	 <auth-constraint>      
		<role-name>admin</role-name>   <!-- 此处填写为你role.properties中设置的的角色名称 -->
	 </auth-constraint> 
  </security-constraint>
   <login-config>      
			<auth-method>BASIC</auth-method> 
			<realm-name>admin</realm-name>    <!-- 此处填写为你role.properties中设置的的用户名称-->
  </login-config>

在这里插入图片描述

标签:Solr8.9,8.9,demoCore,Jetty,server,admin,Linux,webapp,solr
来源: https://blog.csdn.net/weixin_43942359/article/details/118524359