gpt4 book ai didi

java - 如何在 Java 中为 Lucene snowball 编写代码

转载 作者:行者123 更新时间:2023-11-29 09:17:33 27 4
gpt4 key购买 nike

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;

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

最佳答案

代替

分析器analyzer = new StandardAnalyzer(Version.LUCENE_29);

你可以使用

Analyzer analyzer = new SnowballAnalyzer(Version.LUCENE_29, "English");

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

See Javadoc here for 2.9.在较新版本的 Lucene 中,您拥有像 EnglishAnalyzer 这样的每种语言的分析器(更好的类型安全性,因为您不传入 String,而是传入类名)。

关于java - 如何在 Java 中为 Lucene snowball 编写代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8517885/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com