我對Solr比較新,需要幫助來決定它是否是我的任務的正確工具(如果是,應該如何使用它)。Solr是否可以(或明智)用於預訂系統?
我有一個用例,其中有一些實體具有多種資源類型,並且用戶需要找到具有足夠可用資源的實體。爲了讓它不那麼抽象,可以說有幾家汽車租賃公司,以及幾種汽車類型(SUV,微型客車,卡車......);我們追蹤每個公司/車型/每日組合的可用車輛數量。用戶想要租用一定數量的汽車,並且我們需要找出哪些公司可以滿足這一要求。
還有其他方面的搜索,爲此Solr似乎是一個很好的匹配(每個實體都有一些屬性,認爲公司的位置,價格,是否存在綠色租賃政策等,以及那些需要搜索,範圍過濾器和分面搜索,並根據用戶反饋評分進行排序),所以如果資源分配方面可能被鎖定到Solr中,那將會很不錯。那可能嗎?出於某種原因,這是一個壞主意嗎?你能否推薦一款更適合這項任務的工具?
瀏覽Solr的文檔後,我想出了這個方案:
- 該公司的文件
- 每一天/車式組合持有的數量動態場給定類型的免費汽車,在該公司的給定日期
- 條件將是一個巨大的布爾表達式,由術語組成,如
field_<car_type>_<day>:[<required_number> TO *]
我不確定它有以下幾個原因:
- 它需要成千上萬的領域 - 這可能會導致性能問題?
- 據我所知,Solr將範圍查詢拆分爲多個相等檢查或一起進行編輯,因此查詢最終會產生數千個術語 - 這又可能導致性能問題?
- 每次用戶進行預訂時,字段值都會發生變化 - 據我所知,這會強制重新索引,這很慢,與上述問題相同。
我希望如何處理這個問題(例如,一些其他搜索工具來使用,或如何Solr的可能與做了預約檢查一些自定義代碼交互)的任何指針。
難道你不能在大部分工作中使用良好的舊SQL,並且對Solr索引進行了微調以進行搜索,可以將字段合併在一起,等等。您應該能夠使用http://docs.lucidworks從SQL導入數據。com/display/solr /上傳+ Structured + Data + Store + Data + with + the + Data + Import + Handler – rcomblen 2013-03-18 09:51:09
@rcomblen我可以使用SQL來檢查可用性,但我寧願不對每個搜索請求運行復雜的SQL查詢。我沒有看到的是如何將其與Solr集成。我需要運行SQL查詢來獲取具有足夠資源的公司列表,然後將該列表提供給Solr(我不知道如何執行此操作),或先運行Solr搜索,然後篩選出不可用使用SQL的汽車(這會攪亂Solr數據,如分頁和麪數)。乍一看,您的鏈接似乎是從SQL導入文檔,而不是導入每個查詢過濾器的結果。 – Tgr 2013-03-18 10:49:49
一個類似的問題:[SOLR旅遊網站:日期查詢](http://stackoverflow.com/questions/9118177/solr-travel-site-on-date-queries) – Tgr 2013-03-19 15:30:01