![](/img/trans.png)
[英]Faceted search: ElasticSearch/Solr or a simple database query?
[英]Search/retrieve by a large OR query clause with Solr or Elasticsearch
我有一個汽車模型的搜索數據庫:“日產Gtr”,“ Huynday Elantra”,“ Honda Accord”等。
現在我還有一個用戶列表,以及他們喜歡user1喜歡的汽車類型:carId:1234,carId:5678等...
給定用戶1,我想退回他喜歡的所有汽車,它可以是0甚至是雜項。
在Solr或潛在的另一個“ nosql”系統中對此建模的最佳方法是什么,可以解決此問題。
我正在使用Solr,但是如果可以的話,我有機會使用另一個系統。
編輯:Solr解決方案是加入慢(也許我們可以嘗試嵌套)。 並且當前使用聯接表的MySQL解決方案有超過20億行。
因此,您只想在User-> Cars之間存儲映射,並根據用戶檢索汽車...聽起來很簡單:
給定用戶ID,您將檢索“ carsliked”字段,並通過交叉集合聯接獲取汽車詳細信息
您還可以使用嵌套對象將每個喜歡的汽車(以及有關它的所有信息)存儲在每個用戶內,但是要復雜一些。 另外,您不需要查詢上的聯接。
Solr可以讓您做更多事情,例如,給定一輛車,哪個用戶喜歡呢? Elasticsearch將以完全相同的方式工作(考慮到用例看起來多么簡單,可能還有許多其他工具)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.