【问题标题】:How to patch Solr4.2 for SolrEnityProcessor Sub-Enity issue如何为 SolrEntityProcessor 子实体问题修补 Solr4.2
【发布时间】:2013-08-14 11:52:19
【问题描述】:

根据SolrEntityProcessor is called only once for sub-entities,我们可以使用https://issues.apache.org/jira/browse/SOLR-3336?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel中打补丁的SolrEntityProcessor来解决子实体问题。

我尝试将 jar 文件重命名为 zip,然后尝试替换修补后的文件,但由于我只有 java 文件,我无法用类文件替换它。所以我放弃了这个想法。

这就是我尝试过的。我反编译了 solr 4.2 包中的原始 jar solr-dataimporthandler-4.2.0.jar。然后我替换补丁文件。并尝试编译文件以再次制作 jar。但是我开始遇到编译错误。

.\org\apache\solr\handler\dataimport\XPathEntityProcessor.java:397: ')' 预期

/* 432 / if (XPathEntityProcessor.2.this.val$isEnd.get()) { ^ .\org\apache\solr\handler\dataimport\XPathEntityProcessor.java:397: 预期 / 432 / if (XPathEntityProcessor .2.this.val$isEnd.get()) { ^ .\org\apache\solr\handler\dataimport\XPathEntityProcessor.java:397: not a statement / 432 / if (XPathEntityProcessor.2.this.val$ isEnd.get()) { ^ .\org\apache\solr\handler\dataimport\XPathEntityProcessor.java:397: 表达式的非法开始 / 432 */ if (XPathEntityProcessor.2.this.val$isEnd.get() ) { ^ .\org\apache\solr\handler\dataimport\XPathEntityProcessor.java:397: ';'预计

/* 432 */ if (XPathEntityProcessor.2.this.val$isEnd.get()) { ^ .\org\apache\solr\handler\dataimport\XPathEntityProcessor.java:397: ';'预计

/* 432 / if (XPathEntityProcessor.2.this.val$isEnd.get()) { ^ .\org\apache\solr\handler\dataimport\XPathEntityProcessor.java:398: 不是语句 / 433 * / XPathEntityProcessor.2.this.val$throwExp.set(false); ^ .\org\apache\solr\handler\dataimport\XPathEntityProcessor.java:398: ';'预计

/* 433 / XPathEntityProcessor.2.this.val$throwExp.set(false); ^ .\org\apache\solr\handler\dataimport\XPathEntityProcessor.java:406: not a statement / 442 */ XPathEntityProcessor.2.this.val$isEnd.set(true); ^ .\org\apache\solr\handler\dataimport\XPathEntityProcessor.java:406: ';'预计

/* 442 / XPathEntityProcessor.2.this.val$isEnd.set(true); ^ .\org\apache\solr\handler\dataimport\XPathEntityProcessor.java:409: 不是声明 / 445 */ XPathEntityProcessor.2.this.offer(row); ^ .\org\apache\solr\handler\dataimport\XPathEntityProcessor.java:409: ';'预计

/* 445 */ XPathEntityProcessor.2.this.offer(row); ^ 12 个错误

知道如何针对此问题修补 Solr4.2。

【问题讨论】:

    标签: solr solr4


    【解决方案1】:

    您所指的This issue 已在一年多前(2012 年 5 月)在 Solr 3.6.1 中修复并关闭。

    这意味着该修复应该已经在 4.2 中可用。您不再需要应用此补丁。

    编辑 -1

    我将SOLR-3336 中附加的SolrEntityProcessor.java 文件与3.6trunk 分支进行了比较。除了清理打印语句之外,我看不出任何区别。这是因为补丁已经提交到 3.6 以后。

    如果您认为仍然存在问题,则可能不是本问题中解决的问题,这可能意味着使用此文件进行修补对您没有帮助。欢迎您继续进行此练习,但我建议确保您步入正轨(通过与 Solr 开发人员合作)。我有一种感觉,如果有的话,您可能正在考虑不同的问题。

    【讨论】:

    • 但是直到 4.2 甚至 4.4 才修复。还讨论了该修复不包含在stackoverflow.com/questions/15734308/…的分支中
    • 这应该在邮件列表中验证 - 我建议删除电子邮件或 IRC。联系方式are here
    • 我也寄给他们了。但请任何帮助都会非常棒。
    • 上面提到的Solr问题现在JIRA中重新开放了。
    • @user766061 - 很好,希望有上下文的人可以帮助你。
    猜你喜欢
    • 2017-06-12
    • 2023-03-19
    • 1970-01-01
    • 2015-05-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-29
    相关资源
    最近更新 更多