维护solr索引库

Posted 0001

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了维护solr索引库相关的知识,希望对你有一定的参考价值。

2)solrcore
    一个solr下可以有多个solrcore,每个solrcore就是一个独立的索引库
3)solrconfig.xml
    lib:配置solr的扩展包的位置,不指定路径的话就是collection1/lib目录,可以自动加载。如果没有需要手动创建
    dataDir:索引文件保存的位置。如果不指定默认是Collection1/data目录。如果没有会自动生成
    requestHandler:请求的url及对应的处理器的配置
4)添加solrcore
    1、把Collection1复制一份,改名为collection2
    2、修改core.properties中的内容
    3、重启tomcat
5)Analyses
    分析。在此功能中可以查看分析器的分词效果,必须查看现有的field或者是fieldType的分析效果
    所有的field、fieldType都是定义在schema.xml中
6)Documents
    可以对索引库进行维护。
    可以实现增删改操作
7)Query
    可以查询索引库

二 使用后台维护索引库

1、添加文档
    在solr中添加文档的field必须在schema.xml中定义
    每个solr文档中必须有一个id域
2、修改文档
    在solr中没有对应的修改方法,只需要再添加一个新的文档,保证文档id和被修改的文档id一致即可。
3、删除文档
    把文档格式改为xml
    1)根据id删除
        <delete>
        <id>change.me</id>
        </delete>
        <commit/>
    2)根据查询删除
        查询需要使用lucene查询语法。在solr中完全支持lucene的查询语法。
        <delete>
        <query>*:*</query>
        </delete>
        <commit/>

 

三 使用solrj维护索引库

    1、添加jar包
        solrJ的jar包
        solrJ运行依赖的jar包
        需要example/lib/ext日志相关的jar包
    2、添加文档、更新
        1)创建一个SolrServer对象,使用HttpSolrServer,参数:solr服务的url
        2)创建一个SolrInputDocument对象
        3)向文档对象中添加域,每个文档必须有id域,每个域的名称必须在schema.xml中定义
        4)把文档对象写入索引库
        5)提交
    3、删除文档
        1、根据id删除
            1)创建一个SolrServer对象
            2)使用SolrServer的deleteById方法
            3)提交
        2、根据查询删除
            1)创建一个SolrServer对象
            2)使用SolrServer的deleteByQuery方法
            3)提交

 

以上是关于维护solr索引库的主要内容,如果未能解决你的问题,请参考以下文章

lucene&solr全文检索_5索引的维护

solr 学习片段

Solr索引库查询界面详解

solrj操作solr索引库(流程)

Python操作Solr索引库

SOLR 索引尺寸减小