维护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索引库的主要内容,如果未能解决你的问题,请参考以下文章