簡體   English   中英

在asp.net電子商務網站中實現Lucene搜索的最佳實踐

[英]Best practices for implementing a Lucene search in asp.net eCommerce site

我的任務是在電子商務網站上查找搜索服務。 當前,它在sql服務器上使用全文本索引,這很不理想,因為它很慢,而且不夠靈活。

您如何建議我將其轉換為lucene? 我的意思是,我最初將如何將所有數據加載到索引中,以及如何進行維護? 在我的“插入產品”方法上,我是否也可以將其插入索引中?

任何信息都有很大幫助!

我目前正在使用建立在Lucene之上的Solr作為我的一個電子商務項目的搜索引擎。 效果很好。

http://lucene.apache.org/solr/

同樣,只要使產品與DB和Solr之間保持同步,就可以構建自己的“清除程序”或在Solr中實現DataImportHandler。

http://wiki.apache.org/solr/DataImportHandler

我們構建了自己的清除程序,該清除程序會每隔一段時間讀取一次數據庫視圖,並檢查是否有新產品或任何產品數據已更新。 這是一種蠻力方法,我希望我以前知道DataImportHandler。

構面也是Solr真正強大的部分。 我強烈建議使用它們。

如果您決定使用Lucene.NET進行搜索,則需要執行以下操作:

  • 通過遍歷所有記錄並將想要搜索的數據寫入索引來創建初始索引
  • 如果要寫入索引的記錄和數據量很大,則可以考慮將它們填充到多個索引中(這意味着您必須制作一個更復雜的搜索程序,因為您需要搜索每個索引,然后合並結果!!)
  • 當產品更新或創建時,您需要更新索引(這里有一個過程來創建其他索引部分,然后合並索引)
  • 如果您的網站流量很高,並且有可能在同一時刻發生多次搜索,那么您需要創建一個包裝器,以便可以在多個重復索引(或索引集)之間為您進行搜索(請考慮此處的單例模式) ),因為一次只能對一個搜索進行訪問(打開)該索引

這是一個很棒的平台。 最初,我們嘗試使用自由文本搜索,但發現創建索引,更新和管理很麻煩。 搜索沒有比標准sql搜索快多少。 他們確實在搜索查詢中提供了一定的靈活性...但是,與Lucene的功能相比,它甚至還相形見!!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM