问题标签 [solr7]

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 投票
0 回答
35 浏览

solr - Solr 7 - 具有相同前缀的短语匹配

我想检索与令牌匹配的结果(edgeNgramed)。对于不共享前缀的令牌,它按预期工作。但是对于共享前缀的令牌,Solr 不能按预期工作。例如:如果索引词是bird box并且查询是bird b,则 solr 将返回仅具有bird并且可能带有标记bird box的结果(由于我们的索引很大,我还没有验证它)

查询构造

Solr 版本 - 7.7.1

链接到分析器链的响应

这是我的分析器链。

关于如何确保在任何其他只有 . 的内容之前bird box被召回的内容的任何想法?bird bbird

笔记

  • 已经看到了在不同领域索引令牌的 stackoverflow 问题,我们不想遵循这种方法,索引可能会变得太大,我们的令牌长度实际上可以是任何东西。
  • 我们刚刚从 Solr 4.10 迁移到 Solr 7.7.1,两个版本的行为相同。尚未针对此用例探索 Solr 8。
  • 不想将所有前缀(压缩空间)存储在多值字段中。例如:b, bi, bir, bird, birdb, birdbo&birdbox因为这会导致一些非常常见的用例的过度召回。这意味着它打破的案例比实际解决的要多。
0 投票
1 回答
585 浏览

sitecore9 - 根级别的数据无效。第 1 行,sitecore 上的位置 1 升级到 9.2

我正在尝试将 sitecore 从 9.0.2 更新到 9.2

我已经安装了 7.5 的新实例

目前我的 sitecore 站点使用的是 solr 6.6.2。

我已将 solr.search 连接字符串更改为新的 7.5 solr 实例。

但是当我尝试加载该站点时,它显示以下错误

“/”应用程序中的服务器错误。根级别的数据无效。第 1 行,位置 1。说明:在执行当前 Web 请求期间发生了未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。

异常详细信息:System.Xml.XmlException:根级别的数据无效。第 1 行,位置 1。

在此处输入图像描述

0 投票
0 回答
370 浏览

solr - 如何实施 Solr 重复数据删除?签名返回 0000000000000000

我正在尝试通过根据此链接更新 solrconfig.xml 和 schema.xml 在 Solr 中实现重复数据删除: https ://lucene.apache.org/solr/guide/7_6/de-duplication.html

重复数据删除生成文件签名,但签名设置为 0000000000000000(16 个零)。我看到另一个帖子问同样的问题,但没有人回答: Solr Deduplication (dedupe)giving all zeros in signatureField

笔记:

我的文件设置:

solrconfig.xml:

架构.xml:

任何帮助表示赞赏!:)

0 投票
1 回答
220 浏览

solr - 拼写检查器为正确的单词提供建议

查询包含 5 个集合的别名并获得正确单词的建议。例如:- Collection1 中有“轮胎政策” Collection2 中有一个词“礼貌”。当我查询“轮胎政策”时,它会检查并返回“礼貌”作为“政策”的建议。PS - 在查询期间我通过

没有它,拼写检查器不会纠正错误的拼写。

我正在使用 DirectSolrSpellchecker 调整 <float name="maxQueryFrequency">0.01</float>

但遇到同样的问题。

直接 solr 拼写检查代码-

处理程序内的拼写检查器

由于“maxqueryfreqency”设置为“1”,因此不应有任何策略建议。

0 投票
1 回答
597 浏览

solr - Solr Repeaters/Slaves 复制是 Master 上的每次提交,而不是 Optimize

我有一个主中继从配置。使用此复制配置设置主/从/中继器<str name="replicateAfter">optimize</str>,下面的完整配置

中继器配置为每 1 秒轮询一次。N 个从站被配置为以不同的间隔轮询,以免下载请求压倒转发器,例如:2、4、6、8 分钟。两者都通过 java 启动命令 args。

现在,鉴于我在 master 上每 2 小时对 Master 索引进行一次优化,我希望 master 仅在优化后才能提供可复制的版本。但似乎,在X(可配置的)分钟后发生的每次提交后,主节点生成增加,中继器和从节点获得未优化的(但具有最新提交数据的最新状态)。

看到主生成增量后的中继器/从属日志

问题:

我如何绝对确保仅在我发出的优化命令完成后才允许从 Master 到 Repeaters/Slaves 的索引流过?

笔记

一旦我发出优化,具有 1 个段的优化索引确实会按预期流向中继器/从属服务器,但发生在主服务器上的中间提交也会导致中继器/从属服务器下载新索引的一部分,使其段数 > 1,并且在段上搜索时减慢搜索速度size > 1 比在段大小 1 上搜索的成本更高。我只希望在发出定期(以代码编程)优化命令之后而不是在每次提交之后才需要新索引。我实际上删除了 master 上的提交持续时间,然后它只在优化后增加了它的生成,但是如果我完全删除提交,那么我们就有可能在 2 个优化周期之间丢失未提交的数据,并且机器恰好在这 2 个周期之间死亡。

Solr/luceneMatchVersion 版本

7.7.1

我也尝试添加 mergePolicyfactor 配置,但行为仍然相同

0 投票
0 回答
231 浏览

solr - 将 ContextField 添加到 SOLR 建议器

我尝试在 SOLR 建议器中使用 contextField(运行 SOLR 7)

但是当我尝试构建建议器时,出现错误

原因:java.lang.IllegalArgumentException:文档在 field="exacttext" 中包含至少一个巨大的术语(其 UTF8 编码长于最大长度 32766),所有这些都被跳过。请更正分析器以不产生此类术语。第一个巨大术语的前缀是...

exacttext不过,在我的整个设置中没有命名字段。

当我使用 FreeTextLookupFactory 时,这不会发生,但是我当然不能使用 contextField。

我尝试添加

到托管模式,但这也不起作用。

这是我尝试使用的 searchComponent:

这是托管模式中建议者的配置:

-- 字段部分 ---

0 投票
0 回答
28 浏览

azure - Solr 7.6.0 是否存在不能使用系统全部数据传输容量的限制?

为了了解 Solr 7.6.0 在 Azure VM 上的性能(特别是副本恢复场景),我进行了性能测试。

目标是找出故障副本节点在分片中恢复的速度。

我做了什么 ?

  1. 我进行了 48 小时的负载测试
  2. 通过在每个分片开始托管 250+ GB 数据(接近 32 核机器的 VM 的 RAM)时手动重新启动副本节点来捕获副本节点的完整恢复时间

实验结果

该实验最大的红色标记之一是复制品恢复所需的时间:

350 GB 恢复大约需要 2 小时,这意味着 350 / (2*60) = 2.91 GB / 分钟,即 2.91 * 8 / 60 = 0.4 Gb/s(不是小 b 表示位,而不是字节)。

因此,Solr7.6.0 似乎只能使用 0.4 Gb/s 带宽将数据从其领导者传输到失败的副本。

为了确认相应的 VM 是否支持更多带宽,我运行了

iperf3

在这些虚拟机上,发现它支持 11 Gb/s(但是根据 Azure,它应该是 16 Gb/s,这在此处不会破坏交易)。

所以,这里的问题是为什么 Solr 只能利用 0.4 Gb/s 带宽而 VM 能够支持 ~11 Gb/s ?

0 投票
1 回答
98 浏览

solr - “如何解决 Solr 7 中的‘服务器错误’”

我想在我的 Windows 10 中安装 solr。但我遇到了这个错误,我什至有 jdk 版本 1.8.0_112,我的 solr 版本是 solr_7.7.2。

我已遵循网站上提供的每一步

ERROR: Solr server directory E:\\server not found

0 投票
1 回答
269 浏览

java - SOLR 7.5 崩溃

我正在从 Wordpress 插件重建我的索引,这使用了参数化 solr-php-client。通常,在更新索引时,SOLR 会崩溃并显示如下错误消息。不幸的是,我对调试 SOLR/Java 应用程序不太熟悉。到目前为止,我尝试的是增加 Java 堆栈 sie(JVM 启动中的 -Xss256k -> -Xss1M),在我看来,这在 64 位 Java 9(OpenJDK)上太低了。非常感谢任何帮助或线索。

0 投票
0 回答
73 浏览

solr - 如何按solr中最低价格的子文档对父文档进行排序

我是 solr 的新手,我想按价格最低的子文档对父文档进行排序。请参阅下面提到的示例数据。

我想得到下面提到的格式

我尝试了下面提到的链接,它不适用于我的问题。

如何在solr中按子属性对父文档进行排序

sort={!parent which=type:parent score=max v='+type:child +{!func}price'} desc