使用方法就不多说了,网上一搜一大堆。
我这里说的只要是在创建索引和查询索引的时候,分词器类型必须要保持一致!!!否则结果不正确会雷死你。
Analyzer analyzer =
null;
// if (isPangu)
// {
// analyzer = new PanGuAnalyzer(); // 盘古Analyzer
// }
// else
// {
analyzer = new StandardAnalyzer(Version.LUCENE_CURRENT);
// }
// if (isPangu)
// {
// analyzer = new PanGuAnalyzer(); // 盘古Analyzer
// }
// else
// {
analyzer = new StandardAnalyzer(Version.LUCENE_CURRENT);
// }
上面是创建时候用的。下面是查询时候。
///
<summary>
/// 构造常见的几种Analyzer列表
/// </summary>
/// <returns></returns>
public static IList<Analyzer> BuildAnalyzers()
{
IList<Analyzer> listAnalyzer = new List<Analyzer>()
{
new PanGuAnalyzer(), // 盘古分词器 provide by eaglet http://pangusegment.codeplex.com/
// new StandardAnalyzer(Version.LUCENE_29),
// new WhitespaceAnalyzer(),
// new KeywordAnalyzer(),
// new SimpleAnalyzer(),
// new StopAnalyzer(Version.LUCENE_29),
};
return listAnalyzer;
}
/// 构造常见的几种Analyzer列表
/// </summary>
/// <returns></returns>
public static IList<Analyzer> BuildAnalyzers()
{
IList<Analyzer> listAnalyzer = new List<Analyzer>()
{
new PanGuAnalyzer(), // 盘古分词器 provide by eaglet http://pangusegment.codeplex.com/
// new StandardAnalyzer(Version.LUCENE_29),
// new WhitespaceAnalyzer(),
// new KeywordAnalyzer(),
// new SimpleAnalyzer(),
// new StopAnalyzer(Version.LUCENE_29),
};
return listAnalyzer;
}
根据自己的需要选择分词器。