【问题标题】:Lucene project fatal errorLucene 项目致命错误
【发布时间】:2014-05-02 11:00:45
【问题描述】:

我有很多短信,我在代码行下面为它们运行。

// 标记术语

TokenStream tokenStream = new ClassicTokenizer(LUCENE_VERSION, new StringReader(term));

// 词干化

tokenStream = new PorterStemFilter(tokenStream);

有时我得到以下错误,有时没有:

# A fatal error has been detected by the Java Runtime Environment:
#
#  EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x00000000025f8360, pid=1688, tid=7492
#
# JRE version: 7.0-b147
# Java VM: Java HotSpot(TM) 64-Bit Server VM (21.0-b17 mixed mode windows-amd64     compressed oops)
# Problematic frame:
# J  org.apache.lucene.analysis.PorterStemmer.stem(I)Z
#
# Failed to write core dump. Minidumps are not enabled by default on client versions of   Windows
#

我该怎么办?

【问题讨论】:

  • 您是否尝试过使用像 EnglishAnalyzer - lucene.apache.org/core/4_7_0/analyzers-common/org/apache/lucene/… 这样的分析器,它会为您进行词干化和标记化?
  • 我在上面的代码之前有这一行: tokenStream = new StopFilter(LUCENE_VERSION, tokenStream, EnglishAnalyzer.getDefaultStopSet());但是当我打印这些条款时,它们并没有被词干化!所以我使用上面的代码进行词干化。

标签: java lucene stemming porter-stemmer


【解决方案1】:

升级您的 JVM。由于 Oracle jvm 中的错误,在 lucene 网站上有详细记录,您不能使用 java 1.7.0。

【讨论】:

  • 但是我在 Eclipse 中使用的是 java 版本 1.8.0_05
  • 不,你不是:JRE 版本:7.0-b147
  • 在help->about eclipse->installation details->configuration 之前看到java.version=1.8.0_05,现在改了其他配置,现在Eclipse真的用java 1.8.0版本。谢谢你
猜你喜欢
  • 1970-01-01
  • 2012-06-06
  • 1970-01-01
  • 2014-10-26
  • 1970-01-01
  • 2017-11-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多