如何覆盖lucene中的stopwords

如何覆盖lucene中的stopwords,lucene,indexing,stop-words,Lucene,Indexing,Stop Words,我正在我的文件夹中创建一个Lucene索引,我正在索引txt文件的内容。我希望我的内容没有stopwords索引,但在通过分析器后,实际上在搜索时会让我停止使用stopwords,但我需要所有文本索引。 我把代码放在下面: IndexWriter writer = new IndexWriter(new SimpleFSDirectory(indexDir), new SpanishAnalyzer(Version.LUCENE_36),

我正在我的文件夹中创建一个Lucene索引,我正在索引txt文件的内容。我希望我的内容没有stopwords索引,但在通过分析器后,实际上在搜索时会让我停止使用stopwords,但我需要所有文本索引。 我把代码放在下面:

    IndexWriter writer = new IndexWriter(new SimpleFSDirectory(indexDir),
                        new SpanishAnalyzer(Version.LUCENE_36),
                        create,
                        IndexWriter.MaxFieldLength.UNLIMITED);
    if (!file.isHidden() && file.exists() && file.canRead()) {


                String fileName = file.getName();
                String type = Files.extension(file);
                if(type==null)
                {
                    type="";
                }
                Document d = new Document();

                d.add(new Field("Name",fileName,
                                Store.YES,Index.ANALYZED,Field.TermVector.YES));
                d.add(new Field("Type",type,
                                Store.YES,Index.ANALYZED));
                if(("txt".equals(type.toLowerCase())) || ("log".equals(type.toLowerCase())))
                {
                    String Content = Files.readFromFile(file,"ASCII");
        d.add(new Field("Content",Content,Store.YES,Index.ANALYZED, Field.TermVector.YES));
                }
    }

    writer.addDocument(d);
示例文件的内容是“安装目录的目录”。如果我搜索“a”、“to”、“of”但没有找到任何内容,则表示我已成功通过分析仪。 使用该工具查看索引LUKE,我看到字段包含“to install to a directory of”,但看到look field.TermVector仅包含“install”和“directory”,这就是我希望在字段中显示的内容


谢谢。

尝试为
SpanishAnalyzer
使用不同的构造函数:而不是

新的SpanishAnalyzer(Version.LUCENE_36)

使用

新的SpanishAnalyzer(Version.LUCENE_36,Collections.emptySet())

尝试为
SpanishAnalyzer
使用不同的构造函数:而不是

新的SpanishAnalyzer(Version.LUCENE_36)

使用

新的SpanishAnalyzer(Version.LUCENE_36,Collections.emptySet())
您使用的是SpanishAnalyzer()的默认构造函数。你应该用那个

创建索引器,如下所示:

IndexWriter writer = new IndexWriter(new SimpleFSDirectory(indexDir),
                    new SpanishAnalyzer(Version.LUCENE_36, new HashSet<String>()),
                    create,
                    IndexWriter.MaxFieldLength.UNLIMITED);
IndexWriter writer=新的IndexWriter(新的SimpleFSDirectory(indexdirectory)),
新的SpanishAnalyzer(Version.LUCENE_36,新的HashSet()),
创造,,
IndexWriter.MaxFieldLength.UNLIMITED);

这里我们传递的是一组空的停止字,因此覆盖了没有停止字的默认值。你应该在这里多读一些

您使用的是SpanishAnalyzer()的默认构造函数。你应该用那个

创建索引器,如下所示:

IndexWriter writer = new IndexWriter(new SimpleFSDirectory(indexDir),
                    new SpanishAnalyzer(Version.LUCENE_36, new HashSet<String>()),
                    create,
                    IndexWriter.MaxFieldLength.UNLIMITED);
IndexWriter writer=新的IndexWriter(新的SimpleFSDirectory(indexdirectory)),
新的SpanishAnalyzer(Version.LUCENE_36,新的HashSet()),
创造,,
IndexWriter.MaxFieldLength.UNLIMITED);

这里我们传递的是一组空的停止字,因此覆盖了没有停止字的默认值。你应该在这里多读一些

我只是和以前一样尝试索引内容,我只是和以前一样尝试索引内容。