在线给solr增加core的方法


步骤:
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为我们提供了如此强大的支持。
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,对于在SSM项目中整合Solr并配置用户名和密码的问题,可以按照以下步骤进行操作: 1. 首先,需要在Solr的配置文件中配置安全认证和授权信息。具体可以参考Solr的官方文档,例如在 solrconfig.xml 中添如下配置: ```xml <security> <user> <username>solr</username> <password>password</password> <roles> <role>admin</role> </roles> </user> </security> ``` 其中,`<username>` 和 `<password>` 分别为Solr的用户名和密码,`<roles>` 可以配置该用户所拥有的角色,例如上面的配置中该用户拥有 `admin` 角色。 2. 在SSM项目中,需要引入 SolrJ 的相关依赖,例如: ```xml <dependency> <groupId>org.apache.solr</groupId> <artifactId>solr-solrj</artifactId> <version>8.9.0</version> </dependency> ``` 3. 在代码中,使用 SolrJ 进行连接 Solr 服务器,其中需要指定 Solr 的用户名和密码,例如: ```java String solrUrl = "http://localhost:8983/solr/"; String username = "solr"; String password = "password"; SolrClient solrClient = new HttpSolrClient.Builder(solrUrl) .withBasicAuthCredentials(username, password) .build(); ``` 在以上代码中,`solrUrl` 为 Solr 服务器的地址,`username` 和 `password` 分别为配置的 Solr 用户名和密码。使用 `HttpSolrClient.Builder` 进行创建 `SolrClient` 实例,通过 `withBasicAuthCredentials` 方法设置用户名和密码即可实现访问 Solr 服务器。 希望这些能够对你有所帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值