Сохранение писем при токенизации на основе. с люценом

Хотел бы токенизировать строки на основе.,; и т. д. Однако хотелось бы сохранить адреса электронной почты, IP-адреса и тому подобное. Как использовать анализатор с люценцией для выполнения этой задачи? Следующий код, который я нашел в stackru, не сохраняет электронные письма. Любые ссылки на документацию о том, как использовать функцию спецификации шаблонов StandardAnalyzer в lucene, также будут полезны. Большое спасибо

   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() + "] ");

1 ответ

ClassicAnalyzer, который был StandardAnalyzer до версии 3.1, обрабатывает адреса электронной почты и IP-адреса так, как вы ищете.

В целом он менее точен по сегментации текста, чем StandardAnalyzer (особенно для неевропейских языков), но хорошо подходит для вашего тестового примера.

Другие вопросы по тегам