여러 속성을 기반으로하는 모델에 검색 기능을 구현하려고합니다. 사용자가 필터링 할 속성을 지정할 수있게하고 싶습니다. 카테고리레일 : Amazon.com과 같은 검색/필터 구현
어떤 조언을 많이 주시면 감사하겠습니다 - 평가 - 저자 - 여기에는
예를 들어, 사용자가 을 기준으로 필터링 할 수 있습니다 Amazon.com
으로 모든 전자 상거래 사이트와 매우 유사하다!여러 속성을 기반으로하는 모델에 검색 기능을 구현하려고합니다. 사용자가 필터링 할 속성을 지정할 수있게하고 싶습니다. 카테고리레일 : Amazon.com과 같은 검색/필터 구현
어떤 조언을 많이 주시면 감사하겠습니다 - 평가 - 저자 - 여기에는
예를 들어, 사용자가 을 기준으로 필터링 할 수 있습니다 Amazon.com
으로 모든 전자 상거래 사이트와 매우 유사하다!내가 전에 검색을 구현하고 나는이
http://railscasts.com/episodes/111-advanced-search-form-revised
에 좋은 운이이 절약의 이점이 검색, b e는 다른 모델을 지우지 않는 자신의 모델이며, 보석 없이도 쉽게 구현할 수 있습니다.
패셔닝을 처리하려면 Solr을 사용하는 것이 좋습니다. 따라서 Solr보다 Ruby/Rails 추상화로 Sunspot을 사용하는 것이 좋습니다. 당신이 문서에서 볼 수 있듯이
,이 방식으로 필드면을 정의 할 수 있습니다 : 레일과
# Posts that match 'pizza' returning counts for each :author_id
search = Post.search do
fulltext "pizza"
facet :author_id
end
search.facet(:author_id).rows.each do |facet|
puts "Author #{facet.value} has #{facet.count} pizza posts!"
end
태양 흑점의 통합은 자동으로 save
콜백에서 개체를 인덱싱하여 많은 쉽게 SOLR 인덱스를 유지한다.
나는 비슷한 문제를 했어,하지만 난 SOLR 같은 외부 서비스를 사용하지 않았거나 ElasticSearch 그래서 나는이 보석 내장 : SOLR 또는 ElasticSearch없이 https://github.com/fortytools/forty_facets이
얼마나 성능이 영향을? 스케일링 문제는 언제 볼 수 있습니까? – user2012677
실제 속도는 스키마와 데이터에 따라 다르므로 일반 메트릭을 찾기가 어렵습니다. 필터링은 예쁜 직선 조인과 (...) 쿼리를 통해 수행됩니다. 쿼리 속도를 높이기 위해 일반적인 컨트롤러 메서드에서 수행하는 작업은 여기 에 적용됩니다. 각 패싯에 대해 'GROUP-BY'쿼리가 발생합니다. 이들은면 수와면 값에 따라 비용이 크게 다를 수 있습니다. DB 전문가라고 생각하지 않지만 모든 관련 칼럼에 색인을 두드리는 것만으로도 최대 100,000 행의 '기본'엔터티와 4-5 패싯으로 데이터 집합을 필터링하는 데 문제가 없었습니다. –