簡體   English   中英

分面搜索:ElasticSearch / Solr還是簡單的數據庫查詢?

[英]Faceted search: ElasticSearch/Solr or a simple database query?

原諒來自搜索新手的這個超級基本問題。

我想實現一個利用多面搜索的網站。 例如,這是一個包含酒店數據庫的網站,我希望允許用戶搜索價格范圍內帶有三星級或四星級游泳池的酒店。

顯然,我可以通過簡單的數據庫查詢將結果返回給用戶。

我應該使用ElasticSearch還是Solr來實現此目的,而不是使用數據庫查詢? 如果是這樣,為什么?

是的,您應該使用ES或Solr。 原因:主要是性能和輕松更改(考慮配置)“構面類型”的能力。

構面並不是一件容易的事,盡管您可以使用RDBMS來完成,但要快速完成,就需要認真思考。 如果您可以使用Solr / ES(+ Lucene)團隊花了數百萬小時的時間來優化它,那么為什么自己動手做呢。

至於“刻面類型”,我提到:

  1. 也許您想進行分層構面。 選擇價格類別>顯示較小的價格類別。 如何分類:固定范圍,均勻分布等。Solr/ ES從配置中提供這些選項。
  2. 也許您改為使用帶有最小/最大手柄的滑塊來實現價格方面? 您要在滑動時顯示酒店的nr嗎(SOlr / ES中的直方圖/ facetstats)
  3. 當您遇到價格問題時,也許您仍然想知道priceslider的最小值和最大值,就好像您沒有對價格進行過濾一樣。 如果您希望能夠按比例繪制滑塊手柄,則需要這樣做。 (請參閱有關SO的問題,作為考慮從Solr切換到ES的一部分: Elasticsearch:在可能的情況下排除過濾器?(例如Solr)
  4. 在星星上刻面? 如果用戶選擇某顆星,那么您可能希望顯示每顆星的最佳價格(再次使用直方圖/統計數據)

認真地說,甚至不要考慮使用RDBMS進行上述操作。 你會發瘋的。

希望能對您有所幫助,是的,我對域名很熟悉:)

其他問題,只問。

暫無
暫無

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

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