在上一篇<學習MVC之租房網站(八)- 前台注冊和登入>完成了前台使用者的注冊、登入、重置密碼等功能,然後要實作與業務相關的功能,包括房源的顯示、檢索等。
一 房源顯示
房源顯示内容較多,涉及到的有House、Attachment、HousePic,處理的資訊包括房屋類型、朝向、樓層、裝修狀态、家具等。
這裡顯示的房源是通過背景的房源管理維護的,背景添加房源時會上傳圖檔、使用UEditor編輯文本,前台顯示房源時也要把圖檔和富文本顯示出來。在前台使用背景上傳的圖檔是個問題;UEditor産生的富文本則要用Raw()方法處理。
前台針對手機界面,用到日期控件的地方不能再使用類似背景的樣式,MUI有提供了适用于觸摸場景的日期控件mui.DtPicker
二 搜尋
搜尋方式有兩種,給定條件的搜尋和模糊比對搜尋。
a) 給定條件的搜尋類似電商網站的篩選功能,這兒篩選的是房子的位置、價格區間等,模糊比對要根據使用者在搜尋框輸入的資訊,從小區名稱、位置等多個方面查找比對内容。這兩種搜尋需求使用EF或者SQL拼接都可以實作,但對于模糊比對來說,使用ElasticSearch等全文檢索工具最适合。
b) ElasticSearch基于Lucene進行了擴充,提供了豐富的查詢語言,用于進行快速檢索。在ASP.NET下使用ElasticSearch,仍然要配置JDK環境,然後從Nuget安裝連接配接工具PlainElastic.Net。在每次添加、修改、删除房源資訊時,除了操作SqlServer,要同步維護ElasticSearch,需要快速檢索時就從ElasticSearch中尋找。但ElasticSearch的資訊不能修改,隻能删除後重新添加。ElasticSearch
注:
課程内容來自如鵬網(www.rupeng.com),專注于大學生就業的線上教育平台;
ASP.NET MVC課程 http://www.rupeng.com/News/9/640.shtml