solr学习

solr 本地搭建

一.1 检查solr-server配置

servers view中出现的t7-solr上右键-open,出现如下视图,请如图配置server location修改后会变灰,如果想重新修改,需要移除该server下的项目,在该server上右键clean(移除掉server的状态)

完成后即可修改

端口配置正确表示:

1. tomcat admin portajp/1.3与其他tomcat的对应配置不重复;

2. http/1.1的端口号是要求的端口号:solr:9000

解压solr-config.zip

将提供的solr-config放到某目录下如:E:\work\icbc_project\project\

配置vm参数(选配)

点击上图中open launch configuration,配置vm参数

 

-Dsolr.solr.home=E:\work\icbc_project\project\solr-config\multicore -DSolrRemoteAddress=127.0.0.1 -Dsolr.host=127.0.0.1:9000

说明:

solr.solr.home表示solr配置&索引信息所在根目录(multicore所在的路径)

solrRemoteAddress表示允许的远程访问ip(默认为127.0.0.1,一般不用配置)

solr.host表示本机访问solr主机的请求ip与端口

目前有2个索引库:product、store具体可以看E:\work\icbc_project\project\solr-config\multicore\solr.xml文件中配置了几个<core>

mutilcore目录下的每个索引库中的conf/db-data-config.xml文件中都要配置数据源。

有项目中配置的默认是:jdbc/mall

注:tomcat中jndiName配置为:java:comp/env/jdbc/mall

WAS中jndiName配置为:jdbc/mall

配置索引库位置solr项目中的web.xml文件中配置

中的env-entry-value值,必须为绝对路径。

必须配置

测试访问

1. 启动tomcat

2. 访问http://127.0.0.1:9000/emall-solr看到solr主页即表示成功!

 集群部署

 

以下红色字体的需要配置!

现在索引库productstore都要配置!

主索引库配置

1. 打开solrconfig.xml文件添加以下配置:

<requestHandler name="/replication" class="solr.ReplicationHandler" >

   <lst name="master">

      <!-- 当有新的索引被提交,标记新的索引和保存新索引的文件名 -->

      <str name="replicateAfter">commit</str>

      <!-- 当系统启动时,标记新的索引和保存新索引的文件名 -->

      <str name="replicateAfter">startup</str>

      <!-- 当索引优化时,标记新的索引和保存新索引的文件名,因为 commitoptimize 基本上是同时存在的,所以一般不用设置 optimize-->

      <!-- <str name="replicateAfter">optimize</str>-->

      <!-- 索引优化后创建一份备份索引,这个在复制过程中不需要设置 -->  

      <!--<str name="backupAfter">optimize</str>-->

      <!-- 索引复制时,也同步从服务器的配置文件 solrconfig_slave.xml:solrconfig.xml 表示复制时,在slave端以solrconfig.xml进行保存,这样slave才能认识这个文件-->

      <str name="confFiles">schema.xml,solrconfig.xml,stopwords.txt,elevate.xml</str>

      <str name="commitReserveDuration" >00:01:00</str>

      <!-- 设置验证信息 -->

      <str name="httpBasicAuthUser">icbc_user</str>

      <str name="httpBasicAuthPassword">icbc_password</str>

    </lst>

</requestHandler>

从索引库配置

1. 打开solrconfig.xml文件添加以下配置:

<requestHandler name="/replication" class="solr.ReplicationHandler" >

  <lst name="slave">

      <!-- 主服务器的URL,product是配置了多核的目录名,如果不是多核,连接应该是http://192.168.181.50:9000/solr/replication -->

      <str name="masterUrl">http://192.168.181.50:9000/solr/product/replication</str>

      <!-- 1分钟同步一次 -->

      <str name="pollInterval">00:01:00</str>

      <!-- 压缩机制,来传输索引,可选 internal|externalinternal表示内网,external表示外网 -->

      <str name="compression">external</str>

      <!-- 设置超时时间  -->

      <str name="httpConnTimeout">5000</str>

      <str name="httpReadTimeout">10000</str>

      <!-- 设置验证信息,要和master 服务器配置一样 -->

      <str name="httpBasicAuthUser">icbc_user</str>

      <str name="httpBasicAuthPassword">icbc_password</str>

    </lst>

</requestHandler>

 

项目中Server端配置

Server端的url是在数据库中读取,所以调用Solr服务前必须在数据库表中设置,具体如下:

例如:solr服务的urlhttp://82.200.30.250:8100/solr,则

update into B2C_SYS_PARAMS s set s.VALUE = ‘http://82.200.30.250:8100/solr

’ where s.INNER_NAME = ‘solr.server’;

commit;

注:如果多台solr服务器,则在多个url前以“|”分割保存在数据库中。

创建索引

每次重新安装部署solr项目,都要进行一次全量索引,创建全量索引参照以下。

.2.1 商品索引创建2.2 商铺索引创建

 

 

posted @ 2019-08-26 17:55  ZMJ笔记  阅读(123)  评论(0)    收藏  举报