我正在研究一個有相當數量文本的產品網站。文本不存儲在數據庫或任何內容中,它只是視圖的一部分。我想使用Lucene.NET爲網站添加基本的搜索功能,但我不確定最好的方法是什麼。使用Lucene.NET索引我的ASP.NET MVC視圖的內容
我有Lucene.NET的經驗,但只有在索引數據庫內的記錄。
我正在研究一個有相當數量文本的產品網站。文本不存儲在數據庫或任何內容中,它只是視圖的一部分。我想使用Lucene.NET爲網站添加基本的搜索功能,但我不確定最好的方法是什麼。使用Lucene.NET索引我的ASP.NET MVC視圖的內容
我有Lucene.NET的經驗,但只有在索引數據庫內的記錄。
我不確定你的意思是部分視圖?但是,如果僅輸出文本,爲什麼不使用該文本並將其添加爲具有附加字段的文檔,以便在搜索結果中將其重定向到適當的視圖?喜歡的東西:
文件: VIEWLINK:文/ 23 文字:等等等等等等...
添加一個爲每個視圖,然後搜索索引?
或者,您的視圖實際上可以從Lucene索引加載:搜索文章ID = 10,從lucene索引中獲取文本並動態地將其放入視圖中。我不確定這是否是最好的方式。
您可以安排一項任務,使用類似WebClient的方式下載所需頁面的列表,然後使用Lucene解析文本和索引。
如果你不想維護一個列表,你可以讓WebClient跟隨一個URL匹配正則表達式的鏈接(例如:你的域名中的某些頁面)。本質上,雖然你正在編寫一個網絡爬蟲,並且可能有工具可以做到這一點。
參見:https://stackoverflow.com/questions/3740529/good-net-based-open-source-web-crawler 或搜索「的.NET Web爬蟲」
或者,找一個現成的解決方案 - 搜索‘網站搜索’。
從索引的角度來看,最簡單的選擇是將任何相關數據存儲在數據庫中 - 不幸的是,聽起來這不是您的選擇。