我正在使用 Lucene.NET 和 NHibernate.Search 为应用程序构建搜索功能。要索引现有数据,我使用此方法:
public void SynchronizeIndexForAllUsers()
{
var fullTextSession = Search.CreateFullTextSession(m_session);
var users = GetAll();
foreach (var user in users)
{
if (!user.IsDeleted)
{
fullTextSession.Index(user);
}
}
}
我用以下属性标记了我想要索引的字段:
[Field(Index.Tokenized, Store = Store.Yes, Analyzer = typeof(StandardAnalyzer))]
public virtual string FirstName
{
get { return m_firstName; }
set { m_firstName = value; }
}
但是当我随后检查 Luke 中的索引时,这些字段仍然有大写字母、逗号等,它们应该已被 StandardAnalyzer 删除。
有谁知道我做错了什么?