gpt4 book ai didi

solr - Lucene:无需重新索引即可迁移 Java 版本

转载 作者:行者123 更新时间:2023-12-01 06:25:33 24 4
gpt4 key购买 nike

我最近遇到了一个问题,很想听听关于这个主题的任何想法。

前提:

  • Lucene 实现版本:2.9.1
  • Solr:1.4
  • Java 6
  • 存储中的大而重的索引:)

  • 主要思想:将 JDK 版本从 1.6 更改为 1.8。

    那么,此更改是否需要重新索引索引或 不是 ?

    我发现的第一件事是 JRE_VERSION_MIGRATION文档。但它只说明了一个与 Unicode 版本的变化和 Java 1.4 到 Java 5 过渡相关的已知问题。
    我没有发现不同 JDK 版本中 Unicode 版本的任何其他已知问题,这些问题可能需要对现有 Lucene 索引进行完全重新索引。

    另外,有人知道与 JKD 1.6 和 JDK 1.7(1.8) 中不同版本的 Unicode 相关的一些问题吗?

    谢谢!

    附言
    此外,这是用于以下用途的所有分析器和过滤器的列表:
  • WhitespaceTokenizerFactory
  • WordDelimiterFilterFactory
  • 小写过滤器工厂
  • SnowballPorterFilterFactory
  • RemoveDuplicatesTokenFilterFactory
  • ElisionFilterFactory
  • CJKTokenizerFactory
  • ThaiWordFilterFactory
  • ChineseSentenceTokenizerFactory
  • ChineseWordTokenFilterFactory
  • 最佳答案

    我怀疑您是否需要重新编制索引。
    Unicode 6.1 添加了这些可能被 CJK 分析器“看到”的符号:

    CJK Compatibility Ideographs {F900..FAFF} : 2 characters (U+FA2E and U+FA2F)
    CJK Unified Ideographs {4E00..9FFF} : 1 character (U+9FCC = Adobe-Japan1-6 CID+20156, a variant of U+6DBC 涼)

    其他变化在理论上甚至不会影响这些分析器。

    Unicode 6.2 版本更简单,它只有一个新字符
    U+20BA  TURKISH LIRA SIGN    

    我认为没有必要重新索引。上面的分词器依赖于 Character.isLetter()不受上述变化影响的方法。我严重怀疑更改中列出的任何字符都在索引中。

    关于solr - Lucene:无需重新索引即可迁移 Java 版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29259324/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com