Solr Multicore 试用小记 (转)

2019-03-27 01:12|来源: 网路

原文出处:http://blog.chenlb.com/2009/01/try-solr-multicore.html

Solr Multicore 是 solr 1.3 的新特性。其目的一个solr实例,可以有多个搜索应用。下面来小试一下。

官方发布的示例。在solr1.3/example/multicore目录(可以认为是multi.home)下,有一个 solr.xml(这只是默认文件,当然也可以指定别的文件),如:

  1. <?xml version="1.0" encoding="UTF-8" ?>  
  2.   
  3. <solr persistent="false">  
  4.   
  5.   <cores adminPath="/admin/cores">  
  6.     <core name="core0" instanceDir="core0" />  
  7.     <core name="core1" instanceDir="core1" />  
  8.   </cores>  
  9. </solr>  
 

这个文件是告诉solr应该加载那些core,些文件里有 core0,core1两个core,对应有两个目录在multi.home目录下。core0(可以类比以前的solr.home)/conf目录下有schema.xml与solrconfig.xml,可以把实际应用的复制过来。现示例就用官方的了。

部署:复制solr1.3/dist/apache-solr-1.3.0.war放到如tomcat服务器下的webapps下,并改名为solr-cores.war(当然也可以其它)。在tomcat/conf/Catalina/localhost目录下写一个solr-cores.xml文件,如:

  1. <Context docBase="solr-cores.war" reloadable="true" >  
  2.     <Environment name="solr/home" type="java.lang.String" value="E:/solr1.3/example/multicore" override="true" />  
  3. </Context>  
 

然后启动tomcat。打看 http://localhost:8080/solr-cores 就可以看到 Admin core0, Admin core1。现在提交数据了。把solr1.3/example/exampledocs/post.jar 复制到 solr1.3/example/multicore/exampledocs目录下。然后分别对两个core提交数据,如下:

  1. E:\solr1.3\example\multicore\exampledocs>java -Durl=http://localhost:8080/solr-cores/core0/update -Dcommit=yes -jar post.jar ipod_video.xml   
  2. SimplePostTool: version 1.2   
  3. SimplePostTool: WARNING: Make sure your XML documents are encoded in UTF-8, other encodings are not currently supported   
  4. SimplePostTool: POSTing files to http://localhost:8080/solr-cores/core0/update..   
  5. SimplePostTool: POSTing file ipod_video.xml   
  6. SimplePostTool: COMMITting Solr index changes..   
  7.   
  8. E:\solr1.3\example\multicore\exampledocs>java -Durl=http://localhost:8080/solr-cores/core1/update -Dcommit=yes -jar post.jar ipod_other.xml   
  9. SimplePostTool: version 1.2   
  10. SimplePostTool: WARNING: Make sure your XML documents are encoded in UTF-8, other encodings are not currently supported   
  11. SimplePostTool: POSTing files to http://localhost:8080/solr-cores/core1/update..   
  12. SimplePostTool: POSTing file ipod_other.xml  
 

提交好数据后,就可以查一下。
http://localhost:8080/solr-cores/core0/select/?q=*%3A*&version=2.2&start=0&rows=10&indent=on
http://localhost:8080/solr-cores/core1/select/?q=*%3A*&version=2.2&start=0&rows=10&indent=on

有结果了吧!

Solr Multicore 结合 Solr Distributed Searching 切分大索引来搜索


转自:http://www.cnblogs.com/cy163/archive/2009/09/20/1570405

相关问答

更多
  • 在SolrCloud中,您的每个Core都将成为Collection 。 每个Collection都有自己的一组配置文件和数据。 您可能会发现这个有用的移动多核SOLR实例到云 Solr 5.0(以后)对如何使用分片创建SolrCloud设置以及如何添加集合等进行了一些更改。 下面列出的所有内容都是我对Solr参考指南的理解。 我强烈建议彻底完成它。 https://cwiki.apache.org/confluence/display/solr/Apache+Solr+Reference+Guide 我在 ...
  • 工作解决方案: 使用此或此说明安装Java8。 下载solr 。 我使用的是6.2.0版。 从solr-xyztg解压缩bin目录中的install_solr_service.sh脚本( bin/install_solr_service.sh )。 使用上面tgz文件的名称作为第一个参数( ./install_solr_service.sh solr-xyztgz )运行此脚本。 它将为您的系统安装solr。 核心将位于/opt/solr目录中,数据将位于/var/solr 。 使用service solr ...
  • 你有没有对它进行整理或复制? 如果您不知道,请阅读此内容 。 1)通过solr在内部同步分片或复制,因此应在两个核心中对其进行分割或添加。 2)无论哪一个,solr为你做这件事,你只需要让zooKeeper准备接受并平衡每个核心之间的请求。 3)如果您要将数据添加到复制的核心,则不能,但如果您正在分析核心,我认为这是可能的,它在这里得到了回答: 如何使用solrj索引特定分片中的数据 Did you shard it or was it replicated? Read this if you don't ...
  • Solr不会阻止您在单个集合中托管多个实体。 您可以为这两个实体定义字段,并将它们托管在集合中。 如果要过滤每个实体的结果,则需要具有标识符来标识实体。 如果您的馆藏很小或者用户和汽车之间存在关系,那么在同一个馆藏中托管它们可能会有所帮助 对于Solr多核检查应答 Solr Multicore基本上是一个允许Solr托管多个内核的设置。 这些核心将托管一组完全不同的无关实体。 每个表也可以有一个单独的Core。 例如,如果您拥有完全不相关的实体的文档,人员,股票的集合,那么您希望在不同的集合中托管 多核设置 ...
  • Solr核心本质上是在应用程序服务器的相同上下文中运行的多个索引。 你可以认为它为每个用户安装了1个war文件 。 每个核心都以名称分隔,因此您必须自己跟踪哪个网址对哪个用户有效。 例如, http://host.com/solr/usercore1/select?q=test http://host.com/solr/usercore2/select?q=test 它基于config solr.xml :
  • 由于DATASOLR-203 , 目前无法直接完成此操作。 解决上述问题后,您可以按以下方式执行此操作: @Configuration @EnableSolrRepositories(multicoreSupport = true) static class SolrConfiguration { @Bean SolrServer solrServer() throws FileNotFoundException { String solrHome = ResourceUtils.get ...
  • 通常,无论应用程序如何,JVM线程转储都很便宜,影响较小。 另一方面,Jmap -histos可能会对性能造成很大影响。 我在维护中工作,我们做了很多线程转储,从来没有看到线程倾倒导致的直接崩溃。 每分钟运行一次转储的唯一问题是信息太多。 您是否将转储追加到单独的文件? 根据我的经验,您必须随着时间的推移才能查看转储情况,以了解诸如短暂锁定争用的情况。 Generally, JVM thread dumps are cheap, low impacting, regardless of the applic ...
  • SOLR中总有一个核心。 默认情况下,SOLR实例创建名为collection1的核心。 如果你有一个核心并且不确定如何在运行时重新加载,你可以使用它, http://localhost:8080/solr/admin/cores?action=RELOAD&core=collection1 As best as I can tell, online reloading requires a Multicore configuration, which it turns out isn't too har ...
  • 更多像这需要存储的唯一密钥。 MoreLikeThis requires a stored unique key.
  • 我想我解决了它...只需在solr.xml中指定相同的 instanceDir(但不同的dataDir) I think I solved it... simply by specifying the same instanceDir (but different dataDir) in the confiugation in solr.xml