草庐IT

java - 架构中现有字段的 Solr 复合唯一键

我在solr中有一个名为LocationIndex的索引,其字段如下://andsomemorefieldssolr_id但现在我想更改架构,以便唯一键必须由两个已经存在的字段solr_id和solr_ver组成......如下所示://andsomemorefieldssolr_ver-solr_id搜索后我发现可以通过向模式添加以下内容来实现:(引用:SolrCompositeUniquekeyfromexistingfieldsinschema)docid_suserid_sidid--所以我改变了架构,最后它看起来像:solr_versolr_ididid-//andsomem

java - 如何配置 Magento Enterpise 以使用 Solr 作为主要搜索引擎?

我试着寻找文档,但它非常稀少。我写了以下指南,希望它可以节省2-3小时的安装、设置和配置时间。与MySQL全文搜索标准设置相比,使用Solr的性能提升非常惊人。绝对值得花时间在您的Magento安装中使用它。 最佳答案 Magento-Solr安装和配置确保安装了JavaJDK:sudoadd-apt-repositoryppa:sun-java-community-team/sun-java6sudoapt-get更新sudoapt-getinstallsun-java6-jresun-java6-jdk安装和配置Tomcat:安

java - 使用 Solr 索引多种语言

我们正在设置一个Solr来索引标题字段可以使用多种语言的文档。谷歌搜索后,我发现了两个选项:定义不同的架构字段每种语言,即title_en,title_fr,...应用不同过滤到每种语言然后查询标题字段之一相应的语言。创作不同的Solr核心来处理每个语言并进行我们的应用查询正确的Solr核心。哪个更好?什么是起起落落?谢谢 最佳答案 还有第三种选择,您对所有语言使用一组通用字段,但对字段language应用过滤器。例如,如果您有字段text、language,您可以将所有语言的文本内容放入text字段并使用例如fq=language

java - 如何优化solr索引

如何优化solr索引。我想优化我的solr索引,因为我尝试在solrconfig.xml中更改它被索引,但我想知道如何验证它们是否已优化以及索引优化涉及哪些内容。 最佳答案 开始前检查各自核心的大小。打开终端1:watch-n10"du-sh/pathtocore/data/*"打开终端2并执行:curlhttp://hostname:8980/solr//update?optimize=true更新您各自的核心名称,而不是“核心”。您可以看到核心的大小会逐渐增加,大约是索引数据大小的两倍,然后会突然减少。这将需要时间,具体取决于您

java - 如何修复 Java OutOfMemoryError : Java heap space from DataImportHandler?

我正在尝试将大型数据集(4100万条记录)导入到新的Solr索引中。我已经设置了核心,它可以工作,我插入了一些测试文档,它们可以工作。我已经设置了data-config.xml如下,然后我开始完全导入。大约12小时后!导入失败。文档大小可能会变得非常大,错误可能是由于文档(或字段)很大或由于进入DataImportHandler的数据量造成的?我怎样才能使这个令人沮丧的导入任务正常工作!?!我在下面包含了tomcat错误日志。如果有任何我遗漏的信息,请告诉我!日志:Jun1,20115:47:55PMorg.apache.solr.handler.dataimport.JdbcData

java - solr - java 堆空间内存不足

谁能帮我找出tomcat中的错误原因。我在其中使用solr。启动它工作正常。稍后我会提出这个错误。重新启动后它工作正常。请帮我找出错误。Mar7,201110:36:47AMorg.apache.solr.common.SolrExceptionlogSEVERE:java.lang.RuntimeException:java.lang.OutOfMemoryError:Javaheapspaceatorg.apache.solr.core.SolrCore.getSearcher(SolrCore.java:1068)atorg.apache.solr.update.DirectUp

java - 解决方案 "Undefined field text"

我最近将我的solr实例从1.4升级到了3.6。但是,现在每当我更新索引时,我的日志中似乎都会收到一条“未定义的字段文本”严重消息。我的模式中确实有文本字段(自1.4版起有效),但以前从未声明为字段类型。这在3.6中有变化吗?我的模式在这里>>http://pastebin.com/KrCVab0USEVERE:org.apache.solr.common.SolrException:undefinedfieldtextatorg.apache.solr.schema.IndexSchema.getDynamicFieldType(IndexSchema.java:1330)atorg

java - 使用 solr 中的函数进行过滤和排序

我有这样的文档:{attr_a:1},{attr_a:2,changes_user1_a:3}第二个文档说user1进行了尚未“提交”且对其他用户不可见的更改。字段是动态的:问题是,用户1需要根据他的新值进行过滤、分页和排序,而其他用户需要根据旧值执行此操作。我正在考虑通过以下方式解决这个问题:如果user1想按attr_a进行过滤和排序,我会发出类似的查询fq=def(changes_user1_a,attr_a):'somefilter'&sort=def(changes_user1_a,attr_a)asc但是,这种方法会为fq生成以下错误:"error":{"metadata"

java - 如何使用 SolrJ 获取 solr 服务器中所有核心的列表

我们正在使用Solr进行搜索,并将数据分片到多个核心。我们每周有一个核心数据,因此我们每周都在动态创建和删除核心。如何查询solr服务器以获取其所有核心的列表?JavaDoc说我可以使用coreAdminHandler.getCoreContainer().getCoreNames(),但我不确定如何构建coreAdminHandler对象。 最佳答案 对http://localhost:8983/solr/admin/cores?action=STATUS的请求(当然替换你自己的主机/端口)将返回所有核心。

java - Solr 本地主机 :8983 Not Found

我已经下载了Solr3.5.0。解压缩后,我将cd放入solr\example,然后运行​​java-jarstart.jar。出现以下消息:LoggingtoSTDERRviaorg.mortbay.log.StdErrLogjetty-6.1-SNAPSHOTStartedSocketConnector@0.0.0.0:8983如果我然后转到http://localhost:8983/在我的浏览器中出现错误:Error404-NotFound.Nocontextonthisservermatchedorhandledthisrequest.Contextsknowntothisse