lucene.net 怎么样获取分词后的结果,也可以说是读取词库中的词...
1个回答
展开全部
//analyzer是你用的分词器实例,field是搜索的域,content是搜索的内容
TokenStream tokenStream = analyzer.TokenStream(field, content);
Token token = null;
while((token=tokenStream.Next() != null)
{
Console.WriteLine(token.ToString());
}
TokenStream tokenStream = analyzer.TokenStream(field, content);
Token token = null;
while((token=tokenStream.Next() != null)
{
Console.WriteLine(token.ToString());
}
追问
我的意思是这样的,lucene不是会建立一个索引库吗,我是想读取索引库中的数据也......
追答
我用的lucene.net 2.0,其他版本有类似参数,你要读索引库中的数据,首先要保证在建立索引的时候使用参数,Field.Store.YES。代码如下:
string content = "Hello, the world!";
StandardAnalyzer analyzer = new StandardAnalyzer();
IndexWriter indexWriter = new IndexWriter("Index", analyzer, true);
Document docment = new Document();
//将"Hello, the world存储到Content域中(Filed.Store.YES)"
docment.Add(new Field("Content", content, Field.Store.YES, Field.Index.TOKENIZED));
indexWriter.AddDocument(docment);
indexWriter.Close();
//读索引
IndexReader indexReader = IndexReader.Open("Index");
for (int i = 0; i < indexReader.MaxDoc(); i++)
{
//取索引中所有Content域的数据
Console.WriteLine(indexReader.Document(i).Get("Content"));
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询