标签: solrcloud

重新加载SolrCloud配置(存储在Zookeeper上) - schema.xml

我使用独立的zookeeper设置了SolrCloud复制.但现在我希望对我的Schema.xml进行一些更改并重新加载核心.问题是当我运行单个服务器Solr(没有solrcloud)时,加载了新模式,但我不知道如何在所有复制服务器上重新加载模式.我尝试在其中一个服务器上重新加载架构,没有任何预期的影响.有没有一种方法可以在使用zookeeper的分布式复制设置中在Solr中重新加载我的schema.xml.

solr solrcloud solr4 apache-zookeeper

18
推荐指数
2
解决办法
2万
查看次数

具有多个有效负载的Solr建议

我们正在使用Solr建议功能进行businessName查找.当用户输入查询以及匹配的名称时,我们希望solr从id,地址,城市,州,国家等字段中发送其他属性.

我尝试使用payloadField标记在solr suggester中配置多个字段,但它只返回第一个字段.我试过用逗号分隔的方式把它们放进去,但没有运气.这是solrconfig.xml文件的当前配置.

<searchComponent name="suggest" class="solr.SuggestComponent">
    <lst name="suggester">
        <str name="name">suggest</str>
        <str name="lookupImpl">AnalyzingLookupFactory</str>
        <str name="storeDir">suggester_fuzzy_dir</str>
        <str name="dictionaryImpl">DocumentDictionaryFactory</str>
        <str name="field">businessName</str>
        <str name="payloadField">profileId</str> 
        <str name="payloadField">email</str>
        <str name="payloadField">city</str>
        <str name="payloadField">state</str>
        <str name="payloadField">postalCode</str>
        <str name="payloadField">phoneNumber</str>
        <str name="weightField">businessName</str>
        <str name="suggestAnalyzerFieldType">text_general</str>
        <str name="buildOnStartup">true</str>
        <str name="buildOnCommit">true</str>
        <str name="preserveSep">false</str>
    </lst>
</searchComponent>
Run Code Online (Sandbox Code Playgroud)

在结果中发送多个有效负载需要什么配置?谢谢.


编辑:
这是solr建议者的当前输出.

    {
        "suggest": {
            "suggest": {
                "Rock": {
                    "numFound": 1,
                    "suggestions": [
                        {
                            "term": "Rockview Properties",
                            "weight": 0,
                            "payload": "123456789"
                        }
                    ]
                }
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

我的期望:
建议者有效负载包含多个字段的方式.有效载荷字段还包含哪些数据属于哪个字段的信息.我不是要使用 …

solr solrcloud

11
推荐指数
1
解决办法
2505
查看次数

在Solr客户端上指定ZooKeeper主机的最佳方法?

我们在AWS EC2中运行了一些SolrCloud和ZooKeeper设置,并且在大多数情况下它们运行顺利,但是在最近我们的一个ZooKeeper节点发生故障后,我开始想知道是否有任何一种让客户端解决ZooKeeper的方法是比别人好.我们的客户端是基于Java的,使用Solr 4.1 java客户端.

最初我们使用hostfile条目来识别ZooKeepers,但/etc/hosts考虑到AWS的性质,确保条目是最新的,这样做变得非常繁琐.所以我们现在通过Route53使用自定义DNS来识别ZooKeepers.但是我们仍然单独识别ZooKeeper节点,因此我们当前在启动客户端时指定了这一点:

-Dsolr.zookeeperHosts='zk-1.mydomain.com:2181,zk-2.mydomain.com:2181,zk-3.mydomain.com:2181'
Run Code Online (Sandbox Code Playgroud)

主机zk-1.mydomain.com等只是每个ZooKeeper EC2实例的DNS的CNAME.所以现在如果亚马逊强迫我们重新启动ZooKeeper,导致它获得一个新的IP地址,那么当DNS记录更新时,客户端最终将获得新的IP.

我的问题与想知道是否有更好的方法来处理这个问题有关.假设我们想要在混合中添加额外的ZooKeepers,所以我们有5个节点的法定数量而不是3个.(我实际上想要这样做.)拥有包含所有的单个DNS循环记录会更有意义吗ZooKeepers在其中并将该单个DNS名称传递给客户端?

例如,成立了DNS记录zookeepers.mydomain.com的CNAME指向zk-1.mydomain.com,zk-2.mydomain.com并且zk-mydomain.com,然后简单地PAS这给我的客户:

-Dsolr.zookeeperHosts='zookeepers.mydomain.com:2181'
Run Code Online (Sandbox Code Playgroud)

这样,当我将新的ZooKeepers添加到集群时,我可以简单地添加另一个CNAME记录,zookeepers.mydomain.com而不必担心更新所有客户端上的配置.

Solr客户端是否足够智能,可以使用包含多条记录的DNS记录?具体来说,如果一个ZooKeeper碰巧关闭,并且客户端试图连接到它,客户端是否会知道再次查询DNS以获取下一个ZooKeeper的IP并尝试与之通信?

solr amazon-web-services solrcloud apache-zookeeper

11
推荐指数
1
解决办法
943
查看次数

SolrCloud ZooKeeper配置更新

如何在Zoo Keeper中更新SolrCloud的现有配置文件?

我正在使用带有ZooKeeper 3.3.6的Solr4 Beta版本.我更新了配置文件,并重新启动了Solr Instance,它将配置文件上传到ZooKeeper.但是,当我从SolrCloud管理控制台检查配置文件时,我看不到更新.我无法理解这是SolrCloud管理控制台的问题,还是我没有成功将配置文件上传到ZooKeeper.

熟悉ZooKeeper的人是否可以告诉我如何更新ZooKeeper中的现有配置文件,以及如何验证ZooKeeper中的更改?

solr solrcloud apache-zookeeper

10
推荐指数
1
解决办法
7262
查看次数

更改solr-4.3.1的端口号

我一直在使用solr 3,现在我打算切换到solr 4.我想运行solr的端口是9090而不是8080.AFAIK,更改我们配置solr.xml文件的端口号.我的solr.xml文件中的条目如下所示:

<cores adminPath="/admin/cores" defaultCoreName="collection1" host="${host:}" hostPort="9090" hostContext="${hostContext:solr}" zkClientTimeout="${zkClientTimeout:15000}">
<core name="collection1" instanceDir="collection1" />
Run Code Online (Sandbox Code Playgroud)

令人惊讶的是,当我点击网址时:http:// [domain]:9090/solr/admin ..它说找不到页面,但http:// [domain]:8983/solr /> ..只是工作即使在更改端口号后也可以.我确信我错过了一些东西.有人可以帮我这个吗?

谢谢.

solr solrcloud solr4

10
推荐指数
2
解决办法
1万
查看次数

SolrCloud随着时间的推移变得缓慢

我有一个3 nodeSolrCloud设置(replication factor 3),Ubuntu 14.04 Solr 6.0在SSD上运行.很多索引都在发生,只有softCommits.一段时间后,索引速度变得非常慢,但是当我重新启动变慢的节点上的solr服务时,一切都恢复正常.问题是我需要猜测哪个节点变慢.

我有5个集合,但只有一个集合(主要用于)变慢.总数据大小144G包括tlogs.

所说的核心/集合99G包括tlogs,tlog只有313M.堆大小是16G,总内存是32G,数据存储在SSD上.每个节点配置相同.

看起来很奇怪的是,当这次点击时,我在两个奴隶上每秒都有数百或数千个日志行:

2016-09-16 10:00:30.476 INFO  (qtp1190524793-46733) [c:mycollection s:shard1 r:core_node2 x:mycollection_shard1_replica1] o.a.s.u.p.LogUpdateProcessorFactory [mycollection_shard1_replica1]  webapp=/solr path=/update params={update.distrib=FROMLEADER&update.chain=add-unknown-fields-to-the-schema&distrib.from=http://192.168.0.3:8983/solr/mycollection_shard1_replica3/&wt=javabin&version=2}{add=[ka2PZAqO_ (1545622027473256450)]} 0 0
2016-09-16 10:00:30.477 INFO  (qtp1190524793-46767) [c:mycollection s:shard1 r:core_node2 x:mycollection_shard1_replica1] o.a.s.u.p.LogUpdateProcessorFactory [mycollection_shard1_replica1]  webapp=/solr path=/update params={update.distrib=FROMLEADER&update.chain=add-unknown-fields-to-the-schema&distrib.from=http://192.168.0.3:8983/solr/mycollection_shard1_replica3/&wt=javabin&version=2}{add=[nlFpoYNt_ (1545622027474305024)]} 0 0
2016-09-16 10:00:30.477 INFO  (qtp1190524793-46766) [c:mycollection s:shard1 r:core_node2 x:mycollection_shard1_replica1] o.a.s.u.p.LogUpdateProcessorFactory [mycollection_shard1_replica1]  webapp=/solr path=/update params={update.distrib=FROMLEADER&update.chain=add-unknown-fields-to-the-schema&distrib.from=http://192.168.0.3:8983/solr/mycollection_shard1_replica3/&wt=javabin&version=2}{add=[tclMjXH6_ (1545622027474305025), 98OPJ3EJ_ (1545622027476402176)]} 0 0
2016-09-16 10:00:30.478 INFO  (qtp1190524793-46668) [c:mycollection s:shard1 …
Run Code Online (Sandbox Code Playgroud)

solr solrcloud

9
推荐指数
1
解决办法
902
查看次数

使用ZooKeeper在SolrCloud中配置DataImportHandler

我有一个像这样配置的SolrCloud:探索SolrCloud,区别在于我使用的是Solr 4.0.0 Beta.配置不久:

  • 默认端口上的ZooKeeper 2181
  • Solr在不同端口上运行的3个实例

这仅用于测试目的.所需的配置是3个ZooKeeper实例(每个Solr实例一个).我设法用curl命令索引一些XML文件.

问题:

  1. 如何配置DIH /集合?我设法更改solrconfig.xml(config for dataimport-handler),在lib中添加适当的数据库连接驱动程序,但在solr admin中我得到"抱歉,没有定义dataimport-handler!" 可以在zookeeper中查看更改(我看到data_config.xml),在solr管理面板中,我可以看到solrconfig.xml的更新版本.

  2. 在Ubuntu 12.04 LTS的单台或多台机器上进行solrcloud生产部署(与之前提到的所需配置一样的somthink)的任何好教程?

任何意见,将不胜感激!提前致谢!

lucene solr solrcloud apache-zookeeper

8
推荐指数
1
解决办法
5322
查看次数

在SolrCloud设置中更改Schema.xml

如何在SolrCloud中更改集合的schema.xml?

我已经在3个节点上建立了一个zookeeper-ensemble,我想我可以在那里进行更改,但不确切知道.

solr solrcloud apache-zookeeper

8
推荐指数
1
解决办法
1万
查看次数

设置单个Zookeeper实例并且绑定失败

我正在尝试使用下面的配置设置一个zookeeper实例,但是开始日志表明在尝试绑定端口2181时,zookeeper正在暂停.有人请告诉我这里的问题.谢谢.

启动日志;

    2014-07-18 16:00:48,976 [myid:] - INFO  [main:QuorumPeerConfig@103] - Reading configuration from: /opt/zookeeper/bin/../conf/zoo.cfg
2014-07-18 16:00:48,980 [myid:] - ERROR [main:QuorumPeerConfig@289] - Invalid configuration, only one server specified (ignoring)
2014-07-18 16:00:48,982 [myid:] - INFO  [main:DatadirCleanupManager@78] - autopurge.snapRetainCount set to 3
2014-07-18 16:00:48,982 [myid:] - INFO  [main:DatadirCleanupManager@79] - autopurge.purgeInterval set to 0
2014-07-18 16:00:48,983 [myid:] - INFO  [main:DatadirCleanupManager@101] - Purge task is not scheduled.
2014-07-18 16:00:48,983 [myid:] - WARN  [main:QuorumPeerMain@113] - Either no config or no quorum defined in config, running  in standalone …
Run Code Online (Sandbox Code Playgroud)

solrcloud apache-zookeeper

8
推荐指数
1
解决办法
9293
查看次数

使用JUnit4编写Solr插件的单元测试,包括创建集合

我为Solr编写了一个包含新流表达式的插件.现在,我试图了解编写单元测试的最佳方法是什么:单元测试需要在Solr中创建集合,所以我将能够检查我的新流表达式是否返回了他们假设的正确数据.

我在网上看到有一个名为"SolrTestCaseJ4"的类,但我没有找到如何使用它在Solr中创建新集合并添加数据等等......

你能否请我推荐一下我可以用于哪个课程或以其他方式测试我的新课程?

顺便说一句,我们在云模式和JUnit4中使用Solr 7.1.

提前致谢.

junit solr junit4 solrj solrcloud

8
推荐指数
2
解决办法
464
查看次数