问题标签 [solarium]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2399 浏览

ubuntu - 连接 127.0.0.1:8983 失败;拒绝连接'

无论我做什么,我总是收到“未捕获的异常 'Solarium\Exception\HttpException' 和消息'Solr HTTP 错误:HTTP 请求失败,连接到 127.0.0.1:8983 失败;连接被拒绝'”我已经安装了带作曲家的日光浴室,但没有任何问题,但我仍然遇到错误。curl 似乎也安装了不知道是什么问题导致它无法连接到该端口。

请帮我。

0 投票
1 回答
1578 浏览

php - PHP Solarium - Composer Autoload 给类未找到错误

我试图让 Solarium 在 Centos 6.5 上运行,并安装 PHP (5.3.3) 和 Apache HTTPD 的 rpm 安装。

我按照网站上的说明创建了一个文件夹 /var/www/php(位于 php.ini 的包含路径中)并下载了 composer。然后我在composer.json中输入了以下内容:

并运行“php composer.phar install”。

我现在正在尝试运行 Solarium 示例文件夹中的示例(特别是 1.1 Solr Ping 示例)。为此,我修改了 init.php 以包含以下行:

要求('供应商/autoload.php');

我已经确认 vendor/autoload.php 正在通过向其添加打印语句来运行。

但是,当我运行示例时,我得到:

或者如果我注释掉第 7 行:

因此,日光浴室文件似乎没有按预期加载。

不确定这是日光浴室还是作曲家的问题(我怀疑是后者)。任何人都可以提出一种调试方法吗?

发出命令“php composer.phar dump-autoload”只会生成消息:

这是正确的(我假设不是基于命令的描述)?

跑步:

给出:检查 composer.json: FAIL 名称:缺失且需要 描述:缺失且需要 未指定许可证,建议这样做。对于闭源软件,您可以使用“专有”作为许可。检查平台设置:失败

没有一个看起来是致命的。那是对的吗?

非常感谢

保罗

更新:

更多信息。向 vendor/composer/autoload_real.php 添加一些打印语句给出:

(由 autoload_namespaces.php 创建的 $map)

(由 autoload_classmap.php 创建的 $classMap)

classmap 的空数组似乎很奇怪。那是对的吗?

谢谢

0 投票
0 回答
45 浏览

solr - Solr makes index but solarium doesn't index more than 9 documents

I am working on Ubuntu. I want to use Solarium to index documents in Solr. When I try to index documents via Solarium it indexes at most 9 documents at a time, so I can't add new documents, but when I try to index new documents from shell it works ok.

This is my PHP code. I am using Solarium 3.0.0 and Solr 4.7.2

0 投票
1 回答
319 浏览

solr - 使用 Solr 进行复杂的多表搜索查询

我刚开始学习 Solr,我学习它的原因是因为我想做高级搜索查询(在 SQL 中被认为很简单),但需要处理大量数据。从我读到现在的内容(使用日光浴室),我可以索引、更新、选择和删除,但只能针对一种数据(关系/表)。我想做的是能够在表之间执行操作(就像 SQL 会以他自己的方式)。这是我可以处理的示例场景。

在此处输入图像描述

以下是基于上述关系的数据样本。

一个示例搜索查询将是“来自不同学院的互相打架的学生的全名以及他们各自学院的名称。

在 SQL 中,我会执行以下操作:

解决方案将是 Dumbledore vs Snape 和 Potter vs Who 的每个字段(所有三个表)。

可以用 Solr 完成吗?

0 投票
1 回答
982 浏览

php - Solr + Solarium:计数器不适用于多选方面

我正在使用 Solr + Solarium。我已经定义了一个多方面搜索。每个方面选项后面都有计数器,当您单击它时显示返回结果的数量。

在多选方面选择一个选项时,我希望其他方面的计数器仍然有效。

solr 有结果。在我的旧代码(单选方面)中,它返回汽油/柴油的值。

例如以下 2 个方面:

汽车品牌:-volvo (3) -mazda (2) -volkswagen (5)

燃料:-柴油(4)-汽油(6)

现在我希望能够选择沃尔沃和马自达。选择沃尔沃 solr/solarium 后,返回以下 2 个方面:

品牌:-沃尔沃(3)-精选-马自达(2)-大众(5)

燃料:-柴油(0)-汽油(0)

品牌方面很好。我希望燃料方面的计数器能够从沃尔沃返回柴油/汽油车的数量。例如: -柴油 (2) -汽油 (1)

我的代码:

0 投票
1 回答
2098 浏览

solr - Solr 法语语言模式

任何人都可以分享法语数据的最佳 solr 架构吗?我已经为我当前的项目实现了这个,但它没有为法语文本提供正确的数据。

我的 schema.xml:

0 投票
2 回答
2723 浏览

php - 如何从solr索引中删除所有记录

我正在使用 solr 进行全文搜索。

我是 solr 的新手,并试图通过 php solarium 客户端从 solr 索引中删除记录我正在使用以下代码删除记录:

但它在浏览器上给了我以下错误:

致命错误:未捕获的异常 'Solarium\Exception\HttpException' 带有消息 'Solr HTTP 错误:OK (500) {"responseHeader":{"status":500,"QTime":1},"error":{"trace" :"java.lang.NullPointerException\n\tat org.apache.lucene.search.BooleanClause.hashCode(BooleanClause.java:99)\n\tat java.util.AbstractList.hashCode(AbstractList.java:542)\n\ tat org.apache.lucene.search.BooleanQuery.hashCode(BooleanQuery.java:520)\n\tat java.util.HashMap.put(HashMap.java:389)\n\tat org.apache.lucene.index.BufferedUpdates .addQuery(BufferedUpdates.java:152)\n\tat org.apache.lucene.index.DocumentsWriterDeleteQueue$QueryArrayNode.apply(DocumentsWriterDeleteQueue.java:365)\n\tat org.apache.lucene.index.DocumentsWriterDeleteQueue$DeleteSlice.apply (DocumentsWriterDeleteQueue.java:280)\n\tat org.apache.lucene。index.DocumentsWriterDeleteQueue.tryApplyGlobalSlice(DocumentsWriterDeleteQueue.java:200)\n\tat org.apache.lucene.index.DocumentsWriterDeleteQueue.addDelete(DocumentsWriterDeleteQueue.java:107)\n\tat org.apache.lucene.index.DocumentsWriter.delete in /var/www/library/Solarium/Core/Query/Result/Result.php 在第 103 行

0 投票
1 回答
651 浏览

solr - 更像这样并没有给出预期的结果

我正在实施一个更像这个处理程序的 solr 来寻找类似的客户。

我有 2 个客户,他们的名字不同,住在同一个地址。我想给 solr 一个 entity_id 并让所有具有相似名称/地址的客户端返回。客户将能够通过单击按钮将两个客户链接在一起。

我正在使用 SolariumBundle 在代码中执行此操作,但它应该足以让它首先与原始查询一起工作,如果可行的话,我可以自己将其调整到日光浴室。

这是我的solrconfig.xml

我的schema.xml的相关部分是:

我目前执行此查询:http://localhost:8983/solr/core0/mlt?q=entity_id%3A50&wt=json&indent=true&mlt.fl:customer_data并且确实为具有相似名称的客户返回结果。例如,如果 customer_id:50(我要查询的那个)的名称为“Foo Bar”,它会返回名称为“Foo Bar”、“Bar Foo”、“John Foo”的客户。街道/国家/邮政编码的相似性不起作用。

在 debug:parsedquery 中,我可以看到customer_data:Foo customer_data:Bar customer_data oo Bar, ...地址部分的不同突变,但没有任何变化。

如何确保查询是针对:customer_data:Foo customer_data:Bar customer_data:teststreet customer_data:Antwerp

0 投票
1 回答
607 浏览

solr - Solr:如何对组结果进行自定义排序

在 Solr 中,我在“hash”(我的自定义字段)字段上使用 groupBy 获取结果。正如我们所知,每个组将包含一组文档。

我的要求是:

  1. Solr 首先根据 s​​core 进行排序,它已经在做。
  2. 如果任意两组得分相同,则group with more number of documents should come up.
  3. 如果偶数个文档相同,则there should be some tie-breaker.

我需要关于第 2 点和第 3 点的指导。我无法使用“排序”参数了解如何操作。

谢谢阿米特阿加瓦尔

0 投票
2 回答
1817 浏览

solr - Solr 和带双引号的搜索短语

我有一个电子商务网站,我在其中实现 Solr(使用 Solarium 库),并且有包含双引号(通常代表英寸)的产品名称和描述。在我开始掌握 Solr 的分析器和标记器部分之前,我只是将 text_en_splitting 的数据类型分配给将包含此数据的字段。如果有人搜索短语 - blue 1" binder- 双引号被删除,返回的前 10 个结果不一定是活页夹。返回的结果似乎与单词 blue 和数字 1 匹配(它们不是活页夹)。通过对 Solr admin 中的查询的分析,我看到双引号已从 WordDelimiterFilterFactory 中删除。我喜欢 WordDelimiterFilterFactory 的其他原因(比如处理短语便利贴)所以我试图在这里找到一个快乐的媒介。有没有更好的方法来索引和查询包含双引号的字段,这些双引号在执行搜索时应该保留在原位(因为它们实际上意味着什么)?