您的位置:首页 > 其它

在线给solr增加core的方法

2011-08-24 00:30 169 查看
步骤:

1、下载tomcat、solr、并解压它们

2、将solr.war拷贝至tomcat/webapps下面

3、将solr/example下面的multicore拷贝至tomcat下面,并改名为solr

4将solr/solr.xml中的<solr persistent="false">改为了<solr persistent="true">

5、cd tomcat;bin/startup.sh启动tomcat

6、首先要保证已经将solr/solr.xml中的<solr persistent="false">改为了<solr persistent="true">

7、在运行的时候将core1复制一份,改名为core2

8、之后发送请求
http://localhost:8080/solr/admin/cores?action=CREATE&name=core2&instanceDir=/opt/tomcat/solr/core2&config=solrconfig.xml&schema=schema.xml&dataDir=data
9、刷新http://localhost:8080/solr/即可看到新的core2已经识别出来了

10、可以指定dataDir的位置,以使索引创建在不同的目录,参数稍微修改一下即可:
http://localhost:8080/solr/admin/cores?action=CREATE&name=core2&instanceDir=/opt/tomcat/solr/core2&config=solrconfig.xml&schema=schema.xml&dataDir=/opt/tomcat/data1
11、修改过dataDir的请求,生成的solr.xml文件中我们已经可以看到dataDir的位置:

<?xml version="1.0" encoding="UTF-8" ?>

<solr persistent="true">

<cores adminPath="/admin/cores">

<core name="core0" instanceDir="core0/"/>

<core name="core1" instanceDir="core1/"/>

<core name="core2" instanceDir="/opt/tomcat/solr/core2/" dataDir="/opt/tomcat/data1"/>

</cores>

</solr>

12、操作成功返回的code应该是0:下面是操作成功之后页面显示的内容

<response>

<lst name="responseHeader">

<int name="status">0</int>

<int name="QTime">77</int>

</lst>

<str name="core">core2</str>

<str name="saved">/opt/tomcat/solr/solr.xml</str>

</response>

这个例子的作用在于:

当单个core的规模增长到一定程度之后,检索速度会相应变慢,如果我们创建一个新的core,将新来的数据写入新的core中,检索起来性能会有所提升。

ps:使用lucene的时候可以使用MultiSearcher对多快索引进行多线程搜索,性能有大幅提升,但是在solr环境下没有提供MultiSearcher的支持,本例的方法有效的解决了此问题。

本文参考了:http://wiki.apache.org/solr/CoreAdmin#CREATE

最后:感谢solr为我们提供了如此强大的支持。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: