阿拉伯语Lucene 4.7中的词干和停止词删除

阿拉伯语Lucene 4.7中的词干和停止词删除,lucene,stop-words,stemming,Lucene,Stop Words,Stemming,请帮助我如何使用Lucene的词干分析器并停止阿拉伯语的单词删除 另外,我想知道这两个方面: 使用我自己的停止语列表 使用Lucene列表 先谢谢你 更新: 我写了这段代码: DocumentReader documentReader = new DocumentReader(filePath); ArrayList<String> stopWordsList = new ArrayList(Arrays.asList(documentReader.readFil

请帮助我如何使用Lucene的词干分析器并停止阿拉伯语的单词删除

另外,我想知道这两个方面:

  • 使用我自己的停止语列表

  • 使用Lucene列表

先谢谢你

更新:

我写了这段代码:

    DocumentReader documentReader = new DocumentReader(filePath);
    ArrayList<String> stopWordsList = new ArrayList(Arrays.asList(documentReader.readFile().split("\\s+")));
    CharArraySet stopwords = new CharArraySet(Version.LUCENE_47, stopWordsList, true);
    ArabicAnalyzer arabicAnalyzer = new ArabicAnalyzer(Version.LUCENE_47, stopwords);
    TokenStream tokenStream = arabicAnalyzer.tokenStream("?", TextProcessor.text);
    tokenStream = new StopFilter(Version.LUCENE_47, tokenStream, stopwords);
    TextProcessor.text = tokenStream.reflectAsString(true);
我用了这些罐子:

    ArabicAnalyzer.jar
    lucene-analyzers-common-4.7.0.jar
    lucene-core-4.7.0.jar
但是我无法测试输出,因为我没有得到字符串? 那么,在停止词被删除之后,我怎样才能获得文本呢

注意,我应该在 arabicAnalyzer.tokenStream(“?”,TextProcessor.text)

非常感谢您的帮助。

lucene analyzers common
软件包中。如果您使用的是maven,只需添加


要使用自定义停止字列表,只需使用的相关构造函数(具有
stopWords
参数),或对Lucene默认集使用不带stopWords参数的构造函数。如果您使用的是不同的分析器,您需要告诉我们应该向您提供哪些建议。

我对Lucene不熟悉,我的目标是给词干分析器一个文本,然后它应该对其进行词干处理,我找不到一种方法。因此,请你给我举一个如何使用它的例子好吗?是一些基本的解释,虽然不是阿拉伯语词干分析器。但是你会明白的。谢谢你,这很有帮助,但是我仍然无法成功运行代码。我已经更新了我的问题,请帮我解决这个问题@mindasYou不能在同一个项目中使用不同的Lucene版本(4.6.0和4.7.0)。谢谢你的评论,我已经修改了代码并消除了错误,请查看原始帖子以获得更新。
    ArabicAnalyzer.jar
    lucene-analyzers-common-4.7.0.jar
    lucene-core-4.7.0.jar