/**本说明为全文检索的solrCloud配置步骤,请操作前仔细阅读。**/
solr-cloud 配置
#选定一台solr节点服务器,以hadoop04为例
#创建一个可以放置solr配置文件的目录 ,以/home/solr/为例
#在hadoop04生成solr 配置目录命令
> cd /home/solr/
> solrctl instancedir --generate /home/solr/civlist
#配置/home/solr/civlist/config/sechema.xml文件中的field和需要分词的field类型
> vim /home/solr/civlist/config/sechema.xml
#将下列字段复制到schema.xml的<field></field>节点下
<field name="EID" type="string" indexed="true" stored="true" /> <!--EID-->
<field name="PERSON_NAME" type="string" indexed="true" stored="true" /> <!--姓名-->
<field name="SEX_NAME" type="string" indexed="true" stored="true" /> <!--性别-->
<field name="SEX_CODE" type="string" indexed="true" stored="true" /> <!--性别CODE-->
<field name="AGE_VALUE" type="string" indexed="true" stored="true" /> <!--年龄-->
<field name="AGE_NUM" type="int" indexed="true" stored="true" /> <!--年龄值-->
<field name="AGE_UNIT" type="string" indexed="true" stored="true" /> <!--年龄单位-->
#创建配置实体
> solrctl instancedir --create solrcivlist /home/solr/civlist
#查看刚刚创建好的配置实体
> solrctl instancedir --list
#创建collection,-s(shared)设置为1表示当前的collection分片数为1(若存储空间允许,可以将其改为3,默认为1即可), -r(replicate)为当前collection的数据副本数,推荐副本数为3,这样可以提高容错和查询性能。
> solrctl collection --create collectioncivlist -c solrcivlist -s 1 -r 3
-------------至此,collection创建成功------------------
#以下为 solr 操作工具命令及遇到错误时处理办法
#删除collection
> solrctl collection --delete collectioncivlist
#删除 instancedir
> solrctl instancedir --delete solrcivlist
#重新上传配置文件,用于重新更改配置后使用
> solrctl instancedir --update solrcivlist /home/solr/civlist
> solrctl collection --reload collectioncivlist
#增加分片shard2
> solrctl --zk datanode03:7180 --solr http://datanode03:8983/solr core --create collectionudp_shard2_replica1 -p dataDir=hdfs://nameservice1/solr/collectionudp/core_node2/data/ -p collection.configName=solrudp -p collection=collectionudp -p numShared=2 -p shard=shard2
> solrctl --zk datanode03:7180 --solr http://datanode03:8983/solr core --unload collectionudp_shard2_replica1
#增加分片shard3
> solrctl --zk datanode03:7180 --solr http://datanode01:8983/solr core --create collectionudp_shard3_replica1 -p dataDir=hdfs://nameservice1/solr/collectionudp/core_node3/data/ -p collection.configName=solrudp -p collection=collectionudp -p numShared=3 -p shard=shard3
> solrctl --zk datanode03:7180 --solr http://datanode01:8983/solr core --unload collectionudp_shard3_replica1
http://datanode01:8983/solr/admin/cores?action=UNLOAD&core=shard3
#当删除不掉shard时,仔细查看日志,有可能是分片增加时hdfs服务器指定的不对,如果是HA集群,要指定HA的名称。
#如果再次启动时扔报相同错误,在core所在机器的/var/lib/solr目录下找到对应的core名称目录,修改core.properties文件中的hdfs地址
#清空solr中数据的xml格式语句,慎用。
<delete><query>*:*</query></delete>
<commit/>