如何覆盖lucene中的stopwords
我正在我的文件夹中创建一个Lucene索引,我正在索引txt文件的内容。我希望我的内容没有stopwords索引,但在通过分析器后,实际上在搜索时会让我停止使用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),
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);
这里我们传递的是一组空的停止字,因此覆盖了没有停止字的默认值。你应该在这里多读一些 我只是和以前一样尝试索引内容,我只是和以前一样尝试索引内容。