ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

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

2021-07-06 18:33:49  阅读:292  来源: 互联网

标签:Solr8.9 8.9 demoCore Jetty server admin Linux webapp solr


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

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有