如何用Java编写Lucene snowball的代码

如何用Java编写Lucene snowball的代码,java,lucene,snowball,Java,Lucene,Snowball,您好,这是我在2.9.2版中用于lucene文本搜索的代码。我想为lucene snowball 2.9.2编写代码,这样,如果我搜索文本“game”,那么它将搜索包含“game”的文档,也将搜索文档中的“games”。请告诉我如何为此编写代码。我可以在Lucene中搜索文本,但我想为Lucene snowball 2.9.2而不是 Analyzer=新的StandardAnalyzer(版本.LUCENE_29) 你可以用 Analyzer=新型雪球分析仪(Version.LUCENE_29,

您好,这是我在2.9.2版中用于lucene文本搜索的代码。我想为lucene snowball 2.9.2编写代码,这样,如果我搜索文本“game”,那么它将搜索包含“game”的文档,也将搜索文档中的“games”。请告诉我如何为此编写代码。我可以在Lucene中搜索文本,但我想为Lucene snowball 2.9.2而不是

Analyzer=新的StandardAnalyzer(版本.LUCENE_29)

你可以用

Analyzer=新型雪球分析仪(Version.LUCENE_29,“英语”)

这样,您将在幕后使用。记住在索引时间和搜索时间使用相同的分析器以避免混淆。使用词干分析器时,在Lucene索引中存储的不是确切的输入单词,而是词干化的单词

在更新版本的Lucene中,您有每种语言的分析器,如
EnglishAnalyzer
(更好的类型安全性,因为您不传递
字符串,而是传递类名)。

而不是

Analyzer=新的StandardAnalyzer(版本.LUCENE_29)

你可以用

Analyzer=新型雪球分析仪(Version.LUCENE_29,“英语”)

这样,您将在幕后使用。记住在索引时间和搜索时间使用相同的分析器以避免混淆。使用词干分析器时,在Lucene索引中存储的不是确切的输入单词,而是词干化的单词

在更新版本的Lucene中,您有每种语言的分析器,如
EnglishAnalyzer
(更好的类型安全性,因为您不传递
字符串,而是传递类名)

Analyzer analyzer = new StandardAnalyzer(Version.LUCENE_29);
IndexSearcher indexSearcher;
File file = new File("/sdcard/index/");
Directory indexDir = FSDirectory.open(file);
indexSearcher = new IndexSearcher(indexDir, true);
QueryParser parser = new QueryParser(Version.LUCENE_29, "DIG", analyzer);
Query query = parser.parse(mEdit.getText().toString());
ScoreDoc[] hits = indexSearcher.search(query, null, 1000).scoreDocs;