模式更改是否需要重新索引所有 Solr 文档或仅包含已更改模式字段的文档?

2023-12-28

我的 Solr 索引中有数百万个文档。其中只有一千个文档具有字段 A,我想更改其架构。架构更改包括更改多值从真到假,stored从假到真,并且type从文本到字符串,需要重新索引的东西。重新索引数千个文档将花费我几分钟的时间,而重新索引所有内容则需要几天的时间。

Solr wiki 上的重新索引页面 (http://wiki.apache.org/solr/HowToReindex http://wiki.apache.org/solr/HowToReindex)说“您可能需要在开始索引过程之前删除所有文档”,但没有说明何时不需要。

我可以只删除包含字段 A 的一千个文档并重新索引这千个文档,还是需要先删除整个索引(所有文档),然后再对它们全部重新建立索引?

我已经在一个小型样本索引中测试了“删除少数”场景;更新和查询在更改的字段上按预期工作。然而,我不知道我是否只是运气好,由于没有删除所有内容而潜伏着一些问题。


  • 如果您使用相同的 id(在 schema.xml 中定义的唯一键)对文档建立索引,则不必在建立索引之前删除它们。对具有相同 ID 的文档建立索引将覆盖现有文档。

请记住,当您为具有相同 ID 的文档建立索引时,旧文档会自动标记为“已删除”,但不会从索引中物理删除。并且词向量分析适用于所有文档(包括已删除的文档)

如果您需要物理清理已删除的文档,则需要执行索引“优化”,您可以从 solr 管理界面执行此操作。

  • 如果您对架构进行更改,则不必对所有内容建立索引。仅重新索引受影响的文档就足够了。

所以如果我处在你的位置,我什至不会删除任何内容。我只会重新索引数千个受影响的文档。然后稍后进行优化以清理索引。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

模式更改是否需要重新索引所有 Solr 文档或仅包含已更改模式字段的文档? 的相关文章

  • openNLP 与 Solr 集成时出现异常

    我正在尝试将 openNLP 与 Solr 6 1 0 集成 我配置了架构和 solrconfig 文件 详细信息请参见 wiki 链接 https wiki apache org solr OpenNLP https wiki apach
  • 将图像文件存储在猫鼬模式的二进制数据中并以html形式显示图像

    我正在使用 Express Node js 和 Mongodb 创建上传和显示图像文件的网页 我使用 schema 将图像的二进制文件保存在 mongodb 中 这是我在index js和db js中的一点代码 var Post mongo
  • 我们可以同时使用拼音标记和同义词吗?

    我正在尝试同时启用语音分析器和同义词 这似乎不起作用 它们一起使用有错吗 在下面的实现中 我希望使用同义词转换搜索查询 然后使用语音分析器来检索结果 但我的同义词在这里完全被忽略了 如果我在创建索引时删除语音分析器 那么同义词就可以正常工作
  • Solr 中缺少强制 uniquekey 字段错误

    我的项目中有这个问题 我使用 Apache Poi 读取 xlsx excel 文件 并且想在 Solr 核心中对它们进行索引 我使用 SolrInputDocument 来索引读取文件 这是我的java代码 package org sol
  • Solr:在带有空格的字符串上使用通配符

    我的问题与这里讨论的问题基本相同 带空格的 Solr 通配符查询 https stackoverflow com questions 10023133 solr wildcard query with whitespace 但这个问题没有得
  • Solrcloud Zookeper 设置:等待 4000ms 后未找到注册的领导者,集合:c1 切片:shard2

    我使用 solr 4 10 3 我通过 java 中的嵌入式 jetty 服务器启动 solr 我正在尝试使用 2 个分片 领导者 配置 solrcloud 我有一个外部动物园管理员设置 我在启动 solr 时指向动物园管理员实例 如下所示
  • 如何在Oracle数据库11g中创建新模式/新用户?

    我已经申请了一家公司的实习机会 作为一个问题 他们要求我为他们的公司创建一个具有一定要求的架构 并将DDL文件 我已经安装了 Oracle 数据库 11g Express 版本 但如何在 Oracle 数据库 11g 中创建新架构 我在网上
  • solr + haystack + django 我在哪里放置 schema.xml?

    我刚刚安装Solr and Haystack for a Django我正在做的项目 下列的this http docs haystacksearch org dev tutorial html Haystack教程 我创建了一个 sche
  • 如何使用 lucene 查询找到空的 Solr 文档字段

    我有一些这样的文件
  • 由于未定义符号,PECL solr 未加载:curl_easy_getinfo

    我正在尝试加载 PECL solr 扩展 我尝试使用 pecl install solr 并下载并使用 phpize configure make 来安装它 在这两种情况下 扩展安装时都没有错误 但在 apache 重新启动后 或在命令行上
  • 如何禁用 solr 管理页面

    对于生产来说 拥有一个甚至不要求登录凭据的 solr 管理员感觉不安全 如何禁用默认的 solr 管理页面 我只是希望我的 web 应用程序使用 Solr 进行搜索词索引 我强烈建议保留管理页面用于调试目的 它在很多情况下拯救了我 有多种方
  • 用于标签搜索的数据存储解决方案

    我已经按照预先计算的分数订购了数百万件商品 每个项目都有许多布尔属性 假设总共有大约一万个可能的属性 每个项目有十几个 我希望能够请求实时 几毫秒 给定任意属性组合的前 n 个项目 您会推荐什么解决方案 我正在寻找可扩展性极强的东西 我们目
  • 如何备份Solr数据库?

    我想知道如何备份 转储 Solr 数据库 如果只是复制一些文件 请指定哪些文件 文件名 位置等 Thanks We use Solr复制 http wiki apache org solr SolrReplication做我们的备份 您可以
  • Solr 突出显示是否还可以指示返回片段在原始字段内的位置或偏移量?

    背景 使用Solr 4 0 0 我已经对一组示例文档的文本建立了索引并启用了术语向量 以便我可以使用快速向量突出显示
  • Solr 错误 - 流主体被禁用

    我正在从浏览器 URL 中删除文档 我正在使用 Solr 7 4 0 我正在使用此查询来删除文档 http localhost 8983 solr test update stream body
  • 枚举类型的 JAXB 元素

    所以我知道如何创建枚举类型 但是当我为其设置元素类型时 元素字段将只是字符串类型 而不是枚举类型 如何在我的模式中创建枚举并让 JAXB 将其生成为 java 枚举类型 这就是我创建枚举类型和元素的方式
  • 是否可以检索与 Solr 中的查询匹配的字段名称?

    我想动态地向用户显示哪个字段与发送到 Solr 的查询相匹配 例如 如果我有一个文档 document field1 yay field2 nay dynamic field hurr one yay two nay 我查询 yay 我是否
  • 如何减少solr内存使用?

    我在我的应用程序中使用 solr 只有数百个文档 内存占用80M左右 如何减少 80M 并不多 事实上它几乎是最低限度 你不会比这个低很多 影响内存使用的一些因素 输入文档尺寸 多线程文档更新 缓存大小 分面查询 Sorting 参考 ht
  • Log4Net“找不到架构信息”消息

    我决定使用log4net http logging apache org log4net index html作为新 Web 服务项目的记录器 一切工作正常 但对于我在我的应用程序中使用的每个 log4net 标签 我都会收到很多类似下面的
  • 使用 dismax 处理程序进行通配符搜索?

    我已成功索引文件 并且希望能够使用通配符进行搜索 我目前正在使用 dismaxRequestHandler QueryType dismax 进行搜索 以便我可以搜索查询的所有字段 像 computer 这样的常规搜索会返回结果 但 com

随机推荐