2012-10-16 3 views
2

여러 유형과 단일 유형의 태양 흑점 검색의 장단점은 무엇입니까? 선호되는 방법은 무엇입니까?복수 유형 대 단일 유형의 태양 흑점 검색

많은 문서를 살펴본 결과 답변을 찾지 못하는 것 같습니다.

예 : 단일 T의

Sunspot.search(Post, Comment) do 
    with :blog_id, 1 
    fulltext 'hello' do 
    fields(:comment_body) 
    end 
end 

예 다른 모델과의 조합으로 검색 모델/형식 :

두 가지 방법 (여러 유형 또는 단일 유형)을 사용하여 동일한 결과를 얻을 수 있습니다.

답변

2

여러 유형 검색 경로를 따라 가면서 내 질문에 대한 답변을 제공 할 수 있는지 알아 보겠습니다. 여러 유형의 검색의

단점

  • 대부분의 사람들은 결과의 균일 목록/표시 명중입니다 반환 원하는. 기본적으로 모든 유형을 검색하는 Sunspot.search (Type1, Type2 등) 또는 Sunspot.search를 수행하면 .results를 호출하면 데이터 유형이 혼합되어보기에 표시하기가 더 어려워집니다.
  • 게시물에 많은 댓글이 있고 댓글에 "xyz"가 포함 된 게시물을 찾으려면 Sunspot.search (Comment) .results는 내가 정말로 원하는 게시물 목록이 아닌 댓글 목록을 반환합니다. 코멘트 결과/히트에서 post_id를 사용하여 게시물 목록을 검색 할 수는 있지만 실적이 좋습니다.
  • 여러 유형의 Sunspot.search.hits를 사용하여보기에 표시 할 공통 필드 목록을 얻는 것이 어렵습니다.
  • http://sunspot.github.com/sunspot/rails/docs/index.html에 따르면 "Sunspot은 검색이 하나 이상의 유형인지 여부에 대해 완전히 불가지론 적이며 제한 사항, 정렬 등에 사용되는 열은 검색되는 모든 유형에 대해 동일한 방식으로 정의된다는 제한이 있습니다." 모든 유형에 대해 열을 정의해야합니다.

따라서 이러한 유형의 문제가없고 여러 개의 모델에 매핑하여 동일한 결과를 쉽게 반환 할 수있는 단일 유형 검색이 선호되는 IMHO입니다.

+0

어쨌든 기술적 인 문제보다는 응용 프로그램에 대한 우려 (사용자가 검색 한 내용의 의미는 무엇이며 어떻게 모델링 되었습니까?)와 같은 것 같습니다. –

+0

안녕하세요 닉 - 흑점에 대한 의견과 작품을 작성해 주셔서 감사합니다. 질문에 대답하기 위해 사용자는 양식을 검색하여 일치하는 게시물 목록을 찾습니다. 사용자가 전체 또는 일부 선택된 필드를 검색 할 수있는 양식의 확인란이 있습니다. 일부 필드는 게시 모델의 속성이 아니며 일부 필드는 다른 모델 (예 : 댓글 모델)의 속성입니다. 다른 모델은 Post 모델과 연관되어 있습니다. 예를 들어, 게시 has_many : 주석. 따라서 사용자가 양식을 제출하면 제어기의 메소드가 실행되고 검색 메소드를 호출하여 검색을 수행합니다. – konyak

+0

제 질문은 일반적인 것일뿐입니다 (복수 유형 대 단일 유형 검색). 그러나 그것을 무너 뜨리려면 1.각 모델 내에 검색 가능한 블록을 넣고 Sunspot.search (model1, model2 등)를 실행해야합니다. 사용자가 신경 써야하는 한 모델에만 검색 가능한 블록을 넣고 매핑을 사용하여 모델간에 데이터를 연결해야합니다. 2. 여러 유형 검색이 편리한시기는 언제입니까? 싱글 타입에 대해서는 많은 예제를 볼 수 있으며, 복수 타입에 대해서는 거의 사용하지 않습니다. 다중 유형 검색이 유용하지 않거나 권장되지 않습니까? – konyak

관련 문제