C# 使用Lucene.NET索引我的ASP.NET MVC视图的内容

C# 使用Lucene.NET索引我的ASP.NET MVC视图的内容,c#,asp.net-mvc,lucene.net,C#,Asp.net Mvc,Lucene.net,我在一个产品网站上工作,这个网站有相当多的文字。文本不是存储在数据库或任何东西中,它只是视图的一部分。我想在Lucene.NET网站上添加基本的搜索功能,但我不确定最好的方法是什么 我有使用Lucene.NET的经验,但只在为数据库中的记录编制索引方面有经验。我不确定您所说的部分视图是什么意思?但是,如果输出的只是文本,为什么不使用该文本并将其添加为一个带有附加字段的文档,如果您在搜索结果中调出它,该字段将允许您重定向到相应的视图?比如: 文件: ViewLink:Article/23 文字:废

我在一个产品网站上工作,这个网站有相当多的文字。文本不是存储在数据库或任何东西中,它只是视图的一部分。我想在Lucene.NET网站上添加基本的搜索功能,但我不确定最好的方法是什么


我有使用Lucene.NET的经验,但只在为数据库中的记录编制索引方面有经验。

我不确定您所说的部分视图是什么意思?但是,如果输出的只是文本,为什么不使用该文本并将其添加为一个带有附加字段的文档,如果您在搜索结果中调出它,该字段将允许您重定向到相应的视图?比如:

文件: ViewLink:Article/23 文字:废话废话

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


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

您可以安排一项任务,使用WebClient之类的工具下载所需页面的列表,然后用Lucene解析文本并编制索引

如果你不想维护一个列表,你可以让WebClient关注URL与正则表达式匹配的链接(例如:域名中的某些页面)。但实际上,您正在编写一个网络爬虫,而且可能已经有了这样做的工具

见: 或搜索“.net网络爬虫”

或者,寻找现成的解决方案-搜索“站点搜索”

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