Lucene Example

Generic1

Top Contributor
Hallo,

ich möchte mit Lucene einen Text tokenizen und dann die einzelnen Wörter Stemmen,
Weiß jemand wie man das einfach macht, interessanterweise gibts kaum was zu googeln in diese Richtung.
Der Text ist Deutsch.
Besten Dank!!1
lg
Generic1
 
M

Marcinek

Gast
Lucine ist ein Full-Text-Search Framework für Datenbanken.

Wieso sollte man damit einen Text tokenizen?
 

deetee

Aktives Mitglied
Lucine ist ein Full-Text-Search Framework für Datenbanken.

Wieso sollte man damit einen Text tokenizen?

Na um den Index aufzubauen.


@Generic1
Hier ein kurzes Beispiel. Du benötigst dafür Lucene 3.5.0. Hier die Maven dependencies:

Code:
		<dependency>
			<groupId>org.apache.lucene</groupId>
			<artifactId>lucene-core</artifactId>
			<version>3.5.0</version>
		</dependency>
		<dependency>
			<groupId>org.apache.lucene</groupId>
			<artifactId>lucene-analyzers</artifactId>
			<version>3.5.0</version>
		</dependency>

Java:
	public static void lucene(String text) throws Exception {
		GermanAnalyzer analyzer = new GermanAnalyzer(Version.LUCENE_35);
		TokenStream stream = analyzer.tokenStream(null, new StringReader(text));
		CharTermAttribute cattr = stream.addAttribute(CharTermAttribute.class);
		while (stream.incrementToken()) {
			System.out.println(cattr.toString());
			PorterStemmer stemmer = new PorterStemmer();
			stemmer.setCurrent(cattr.toString());
			stemmer.stem();
			System.out.println(stemmer.getCurrent());
		}
		stream.end();
		stream.close();
	}
 

Ähnliche Java Themen

Neue Themen


Oben