0

想要基于 . , ; 等但是希望保留电子邮件地址、IP 地址等。我如何使用带有 lucence 的分析仪来完成这项任务?我在 stackoverflow 上找到的以下代码不保留电子邮件。任何有关如何使用 lucene 的 StandardAnalyzer 的模式规范功能的文档指针也将有所帮助。非常感谢

   String text 
         = "Lucene is simple yet powerful java based search library. sitaraman@dataguise.com";
      Analyzer analyzer = new StandardAnalyzer(Version.LUCENE_CURRENT);

      TokenStream tokenStream = analyzer.tokenStream(
         LuceneConstants.CONTENTS, new StringReader(text));

      TermAttribute term = tokenStream.addAttribute(TermAttribute.class);

      while(tokenStream.incrementToken()) {
         System.out.print("[" + term.term() + "] ");
4

1 回答 1

0

ClassicAnalyzer是 3.1 版之前的 StandardAnalyzer,以您正在寻找的方式处理电子邮件地址和 IP 地址。

一般而言,它在文本分割方面不如 StandardAnalyzer(特别是对于非欧洲语言)那么精细,但对您的测试用例来说效果很好。

于 2016-06-24T14:42:12.283 回答