日期:2014-05-19  浏览次数:20819 次

lucene中同一个Document中如何使用两种分词方式。
上午问了一个关于时间范围查询的问题,后来自己搞好了。现在又遇到一个问题,想了半天还是搞不定。大家一起讨论吧,发现csdn里面搞lucent.net的不是很多啊。
比如有两个子段需要写入索引,当是中的时候用ChineseAnalyzer(),当不是中文的时候用StandardAnalyzer().但是在一个document对象中如何灵活使用呢?


IndexWriter   writer   =   new   IndexWriter( "F:/Lucene/web/index/ ",new   ChineseAnalyzer(),   true);

Document   document   =   new   Document();

document.Add(new   Field( "uid ",   mydr[1].ToString(),   Field.Store.YES,   Field.Index.TOKENIZED));     //希望使用标准的StandardAnalyzer()

document.Add(new   Field( "title ",   mydr[2].ToString(),   Field.Store.YES,   Field.Index.TOKENIZED));     //希望使用中文的ChineseAnalyzer()

writer.AddDocument(document);

------解决方案--------------------
可以对不同字段实行不同的分词方式
参考 http://www.qiyesucha.com