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>