solr学习

Solr是一个独立的企业级搜索应用服务器,它对外提供类似于Web-service的API接口。用户可以通过http请求,向搜索引擎服务器提交一定格式的XML文件,生成索引;也可以通过Http Get操作提出查找请求,并得到XML格式的返回结果。

Solr是一个高性能,采用Java5开发,基于Lucene的全文搜索服务器。同时对其进行了扩展,提供了比Lucene更为丰富的查询语言,同时实现了可配置、可扩展并对查询性能进行了优化,并且提供了一个完善的功能管理界面,是一款非常优秀的全文搜索引擎。

      solr安装:

      1、由于solr是基于java开发的,所以需要java环境,所以得安装jdk。

      2、下载tomcat,并安装。

      3、下载solr,并解压。

      4、将解压好的文件夹下找到solr项目(solr-5.3.1\server\solr-webapp ),复制到tomcat下的webapps下。

      5、将 solr-5.3.1\server\lib\ext 文件夹底下的lib全部复制到tomcat底下的 solr/WEB-INF/libs/ 中

      6、新建solrhome文件夹

      7、修改solr项目下的WEB-IN

<env-entry>

       <env-entry-name>solr/home</env-entry-name>

       <env-entry-value>/usr/solr/solrhome</env-entry-value>

       <env-entry-type>java.lang.String</env-entry-type>

</env-entry> 

8、启动tomcat即可。

9、配置中文分词器,以ik analyzer为例

      进入solrhome/collections1/conf,修改schema.xml

      

         <fieldType name="text_ik" class="solr.TextField">
      <analyzer class="org.wltea.analyzer.lucene.IKAnalyzer"/>
        </fieldType>   / /这里配置分词器类型

                  //name:需要分词的字段(与数据库对应),type:类型 ,stored:是否保存到solr中,false会为空
        <field name="item_title" type="text_ik" indexed="true" stored="true"/>
        <field name="item_sell_point" type="text_ik" indexed="true" stored="true"/>
        <field name="item_price"  type="long" indexed="true" stored="true"/>
        <field name="item_image" type="string" indexed="false" stored="true" />
        <field name="item_category_name" type="string" indexed="true" stored="true" />
        <field name="item_desc" type="text_ik" indexed="true" stored="true" />

                  //copyField 复制字段,multiValued="true" 相当于把copyField 下的所有字段整合在一起包含所有的source
        <field name="item_keywords" type="text_ik" indexed="true" stored="false" multiValued="true"/>

        <copyField source="item_title" dest="item_keywords"/>
        <copyField source="item_sell_point" dest="item_keywords"/>
        <copyField source="item_category_name" dest="item_keywords"/>
        <copyField source="item_desc" dest="item_keywords"/>


到这里基本就配置完了,接着就是javaAPI调用

如果不清楚,还可以参考一下连接 : https://my.oschina.net/u/238296/blog/597725


二、solr集群-----------solrcloud配置

        1、solrcloud配置需要用到zookeeper。所以需要安装奇数个zookeeper。(都需要java环境),也需要配集群。

        2、配置solr服务器。具体可参考单个服务器。

        3、需要配置solrhome中的solr.xml

              
  <solrcloud>
    <str name="host">192.168.92.137</str>   // 自己的ip地址
    <int name="hostPort">8180</int>  //tomcat端口
    <str name="hostContext">${hostContext:solr}</str>
    <int name="zkClientTimeout">${zkClientTimeout:30000}</int>
    <bool name="genericCoreNodeNames">${genericCoreNodeNames:true}</bool>
  </solrcloud>

      4、

将上边部署的solr单机的conf拷贝到/home/solr下。

执行下边的命令将/home/solr/conf下的配置文件上传到zookeeper。此命令在solr-4.10.3/example/scripts/cloud-scripts/   录下:

./zkcli.sh -zkhost 192.168.25.150:2181,192.168.25.150:2182,192.168.25.150:2183 -cmd upconfig -confdir /usr/local/solrcloud/solrhome1/collection1/conf -confname myconf


           5、

修改每一台solrtomcat bin目录下catalina.sh文件中加入DzkHost指定zookeeper服务器地址: 

JAVA_OPTS="-DzkHost=192.168.25.150:2181,192.168.25.150:2182,192.168.25.150:2183"

    6、启动即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值