C#nhibernate全局搜索

时间:2012-08-06 13:24:14

标签: nhibernate c#-4.0 fluent-nhibernate

我的系统在域中有大约6个不同的实体。 这是一个使用Nhibernate的C#winforms应用程序。 MSSql服务器。 + - 5-10个用户。

其中一个功能请求是拥有一个搜索栏,用户可以通过“Google like”灵活性(即非结构化)键入和搜索所有这些实体。 我能想到的最好的方法是在每个域对象上包含一个clob字段,该字段对象也包含对象所代表的每个字段的文本。我的全局搜索就像在clob字段上搜索一样。

这就好像 1.维护任务(即每个对象字段需要存储在clob字段内并随每次更改而更新) 2.可能会非常严重。随着系统的发展,我确信LIKE搜索会越来越慢,导致系统压力。

系统不会很大。如果单个表存储超过10,000条记录,我会感到惊讶,但我不喜欢这样做。

我已经读过像Lucene.NET这样的项目,它通过索引数据集来工作,但是搜索永远不会是“实时”,而是搜索最后一个索引。

其他人如何设法解决这个问题?

谢谢!

1 个答案:

答案 0 :(得分:2)

您正在寻找全文搜索解决方案。就像我在评论中提到的那样,适用于您的情况的费用是NHibernate Search,另请参阅Ayende @ Rahien's post