Solr之建库实战

1.  Solr Core简介

    Core是一个单一的索引数据,而索引又是由多个Document组成的。

2.  Solr设计多Core的原因

    重建索引

    配置变更影响最小化

    索引合并和分裂

    Core热交换

3.  Core的基本管理

    1.  Core的两个必要组成元素

        Schema.xml

        solrconfig.xml  

        这两个文件必须放在sorl_home\core_name\conf目录下,从solr的压缩包中拷贝一些文件到sorl_home\core_name\conf

        cp /usr/local/solr/example/example-DIH/solr/solr/conf/* /var/solr/data/zhenpin/conf/

    2.  分析各个配置文件的作用

        1.  currency.xml

            各种货币之间的汇率常量配置,如果用不到就在Schema.xml中将其注释

        2.  protwords.txt

            用来配置哪些不需要进行词性还原的英文单词。如果不想被还原,请将其添加至protwords.txt

        3.  schema.xml

            用来定义索引数据需要的域和域类型 

        4.  solrconfig.xml

            用来配置索引创建,查询,solr缓存以及solr组件处理器等信息

        5.  stopwords.txt

            自定义的停用词字典文件

        6.  synonyms.txt

            自定义的同义词字典文件

        7.  lang文件夹

            停用词字典文件

    3.  通过solr的web后台,创建core

        

 

        name:  core名称,必须全局唯一,不可重复

        instanceDir:  表示core的根目录,相对你的solr_home

        dataDir:  表示当前core的数据目录,相对instanceDir

        config:  默认是instanceDir下的conf目录

        schema:  默认是instanceDir下的conf目录                

    4.  创建core完成后

        1.  solr会在当前core的根目录下生成一个core.properties配置文件,记录在添加core时的基本信息

        2.  修改了core的solrconfig.xml或schema.xml文件,需要重新加载core使修改后的配置能够生效

        3.  reload操作相当于先按照新修改的配置再配置一个同名的core,等新core创建好再把旧core卸载

        4.  core的卸载就是将core从solr中取消注册

        5.  rename只是修改core的名称,影响你访问core的url,并不会修改该core的根目录名称

        6.  swap热交换是把两个core的目录交换了

4.  Core Http接口

    1.  STATUS  获取指定core的运行状态,若没有指定core,那么就是返回所有core的运行状态

        http://172.16.1.228:8080/solr/admin/cores?action=STATUS

        http://172.16.1.228:8080/solr/admin/cores?action=STATUS&core=core_name                                

    2.  CREATE

        http://172.16.1.228:8080/solr/admin/cores?action=CREATE&name=coreX&instanceDir=path_to_instance_directory&config=config_file_name.xml&schema=schema_file_name.xml&dataDir=data

        提前创建好core目录

    3.  RELOAD

        http://172.16.1.228:8080/solr/admin/cores?action=RELOAD&core=zhenpin

    4.  RENAME

        http://172.16.1.228:8080/solr/admin/cores?action=RENAME&core=zhenpinwang&other=zhenpin

    5.  SWAP

        http://172.16.1.228:8080/solr/admin/cores?action=SWAP&core=core1&other=core0

    6.  UNLOAD

        将指定Core从Solr中移除,在Core被完全移除之前,之前未处理完的Core请求会继续处理,之后发送给该Core的新请求就不再受理

        http://172.16.1.228:8080/solr/admin/cores?action=UNLOAD&core=core1                              

    7.  LOAD

        加载指定Core

        http://172.16.1.228:8080/solr/admin/cores?action=LOAD&core=core1&persist=true

5.  添加索引至Core

    Solr的web后台提供了添加索引数据的界面

    

 

    Request-Handler:  表示添加索引接口对应的请求URL

    Document Type:  表示你要添加的Document类型

    Commit Within  表示索引必须在限定的时间内完成提交

    Overwrite  覆盖的意思,是否需要根据索引数据的uniqueKey来覆盖之前添加的Document

    Boost  此参数用来设置当前你要添加的索引的权重值,默认值为1.0

    Documents  索引数据

      Document包含的域需要提前在schema.xml中定义                  

          

                     

posted @ 2022-05-18 17:23  奋斗史  阅读(179)  评论(0)    收藏  举报