使用Lucene.NET对我的ASP.NET MVC视图的内容进行索引

本文关键字:NET 索引 MVC Lucene 我的 ASP 使用 视图 | 更新日期: 2023-09-27 18:23:54

我正在开发一个有大量文本的产品网站。文本没有存储在数据库或任何东西中,它只是视图的一部分。我想用Lucene.NET为网站添加基本的搜索功能,但我真的不确定最好的方法是什么

我有使用Lucene.NET的经验,但只对数据库中的记录进行索引。

使用Lucene.NET对我的ASP.NET MVC视图的内容进行索引

我不确定您所说的部分视图是什么意思?但是,如果输出的只是文本,为什么不使用该文本,并将其添加为带有附加字段的文档,如果您在搜索结果中提取该文本,该字段将允许您重定向到适当的视图?类似于:

文件:ViewLink:文章/23文字:废话。。。

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

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

您可以安排一个任务,使用类似WebClient的东西下载所需页面的列表,然后使用Lucene解析文本并对其进行索引。

如果你不想维护一个列表,你可以让WebClient遵循URL与正则表达式匹配的链接(例如:域名中的某些页面)。不过,从本质上讲,你正在编写一个网络爬虫,可能已经有工具可以做到这一点了。

请参阅:https://stackoverflow.com/questions/3740529/good-net-based-open-source-web-crawler或搜索".net网络爬虫"

或者,寻找现成的解决方案——搜索"站点搜索"。

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