【发布时间】:2012-03-15 09:22:00
【问题描述】:
我正在开发一个包含数百个视频的 ASP.Net MVC3 应用程序。我想根据标签和其他参数(例如上传视频的用户类型、视频日期、视频类别等)创建一个搜索系统。
我一直在环顾四周,Lucene.NET 似乎确实是全文搜索的好工具,但我不知道它是否是我项目的最佳解决方案...我已阅读教程,他们建议保留搜索索引到最低限度,但您不应该访问您的数据库来检索未存储在搜索索引中的额外数据...
这怎么可能?
举个例子:我有一个视频行(作为一个概念,这实际上保存在不同的 SQL 表中),其中包含视频 ID、视频名称、视频文件名、完整路径、用户 ID 的列,用户类型,标签,创建日期,视频类别,视频子类别,视频位置等...如果我想创建一个lucene搜索索引,我想我必须把所有信息放在那里,以便以后我可以查询在每个参数上,对吧?
在我看来,这似乎是 SQL 数据库的副本,但是从 lucene 搜索索引中添加、编辑和删除文档的工作量很大。这是使用 lucene 时的标准场景吗?我在 lucene 中看到的所有示例都是基于帖子 ID、帖子标题和帖子正文。
你怎么看?能给我点光吗?
【问题讨论】:
-
这也称为“分面”或“参数”搜索。正如 Marc 指出的那样,这是一个重复,但它可能会比在 SQL 中使用视图或连接更快。
标签: c# asp.net asp.net-mvc-3 lucene lucene.net