【问题标题】:Highlighting results with Lucene使用 Lucene 突出显示结果
【发布时间】:2017-10-06 14:30:49
【问题描述】:
        QueryScorer queryScorer = new QueryScorer(query, "title");
        Fragmenter fragmenter = new SimpleSpanFragmenter(queryScorer);

        Highlighter highlighter = new Highlighter(queryScorer); // Set the best scorer fragments
        highlighter.setTextFragmenter(fragmenter); // Set fragment to highlight            

        SearchFactory searchFactory = fullTextEntityManager.getSearchFactory();
        IndexReader indexReader = searchFactory.getIndexReaderAccessor().open(SearchResult.class);        
        indexSearcher = new IndexSearcher(indexReader);
        // STEP C
        System.out.println("");
        ScoreDoc scoreDocs[] = indexSearcher.search(query, 20).scoreDocs;
        for (ScoreDoc scoreDoc : scoreDocs) {
            Document document = indexSearcher.doc(scoreDoc.doc);
            String title = document.get("title");
            TokenStream tokenStream = analyzer.tokenStream("title", new StringReader(title));
             LOG.info(String.format("TEXTE BRUT: %s", title));
             String fragment = highlighter.getBestFragments(tokenStream, title, 3, "...");
            LOG.log(Level.INFO, "--------- FRAGMENT search : ", fragment);

我在尝试获得突出显示的结果时遇到此错误:

无法在服务模块加载器的模块“deployment.dev-1.0.war:main”中定义类 org.apache.lucene.search.highlight.TermVectorLeafReader:java.lang.VerifyError:

无法链接 org/apache/lucene/search/highlight/TermVectorLeafReader(来自服务模块加载器的模块“deployment.scob-1.0.war:main”):类 org.apache.lucene.search.highlight.TermVectorLeafReader 覆盖 final方法术语。(Ljava/lang/String;)Lorg/apache/lucene/index/Terms;

【问题讨论】:

  • 我猜这是在 WildFly 上?这些库的哪个版本?如果您提供具体的答案,我们可能会改进答案。

标签: lucene hibernate-search


【解决方案1】:

当使用与预期的 Apache Lucene 版本不兼容的 Highlighter 版本时,您会得到这样的 VerifyError

验证您的应用服务器正在使用哪个版本的 Lucene,并获取匹配的荧光笔版本。

【讨论】:

  • 对!它工作得很好!我将我的 lucene 从 7.0.0 更改为 5.5.4,这适用于 hibernate-search 5.8.0(在我的情况下)。谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-05-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多