2012-02-07 67 views
2

我正在研究一个有相当数量文本的产品网站。文本不存储在数据库或任何内容中,它只是视图的一部分。我想使用Lucene.NET为网站添加基本的搜索功能,但我不确定最好的方法是什么。使用Lucene.NET索引我的ASP.NET MVC视图的内容

我有Lucene.NET的经验,但只有在索引数据库内的记录。

回答

3

我不确定你的意思是部分视图?但是,如果仅输出文本,为什么不使用该文本并将其添加为具有附加字段的文档,以便在搜索结果中将其重定向到适当的视图?喜欢的东西:

文件: VIEWLINK:文/ 23 文字:等等等等等等...

添加一个为每个视图,然后搜索索引?

或者,您的视图实际上可以从Lucene索引加载:搜索文章ID = 10,从lucene索引中获取文本并动态地将其放入视图中。我不确定这是否是最好的方式。

0

您可以安排一项任务,使用类似WebClient的方式下载所需页面的列表,然后使用Lucene解析文本和索引。

如果你不想维护一个列表,你可以让WebClient跟随一个URL匹配正则表达式的链接(例如:你的域名中的某些页面)。本质上,虽然你正在编写一个网络爬虫,并且可能有工具可以做到这一点。

参见:https://stackoverflow.com/questions/3740529/good-net-based-open-source-web-crawler 或搜索“的.NET Web爬虫”

或者,找一个现成的解决方案 - 搜索‘网站搜索’。

从索引的角度来看,最简单的选择是将任何相关数据存储在数据库中 - 不幸的是,听起来这不是您的选择。