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中定义

浙公网安备 33010602011771号