0

我正在与 Solr 合作。我的 solr.xml 文件看起来像这样。

<?xml version="1.0" encoding="UTF-8" ?>
<solr persistent="true">
  <cores defaultCoreName="test1" host="${host:}" adminPath="/admin/cores" zkClientTimeout="${zkClientTimeout:15000}" hostPort="${jetty.port:8983}" hostContext="${hostContext:solr}">
    <core loadOnStartup="true" instanceDir="test1/" transient="false" name="test1" collection="test1"/>
    <core loadOnStartup="true" instanceDir="test2/" transient="false" name="test2" collection="test2"/>
  </cores>
</solr>

现在,我想在两个集合中搜索。所以我想要在 collection1 或 collection2 中命中的结果。

我必须发送两个请求还是 solr 能够针对 2 个(或更多)集合处理一个请求。

我可以做这样的事情:

http://***.***.***.***:8080/solr/test1/select?q=field%3Dtest&wt=xml&indent=true
http://***.***.***.***:8080/solr/test2/select?q=field%3Dtest&wt=xml&indent=true
4

1 回答 1

1

您可以检查 Solr分布式搜索,这将允许您跨集合搜索。

但是,请确保您在两个核心中维护公共字段,以便查询找到它们并返回它们。
此外,分布式搜索也有一些局限性

否则,您需要以不同方式查询并合并结果。

于 2013-06-17T07:08:59.980 回答