나는 다음과 같은 한 서류 :중첩 된면 검색
(1) { date:"2013-01-01", person:"John", activity:"swimming" } // <-- watch out date/year
(2) { date:"2014-01-02", person:"John", activity:"cycling" }
(3) { date:"2014-01-03", person:"John", activity:"jogging" }
(4) { date:"2014-01-01", person:"Paul", activity:"swimming" }
(5) { date:"2014-01-02", person:"Paul", activity:"cycling" }
(6) { date:"2014-01-03", person:"Paul", activity:"jogging" }
(7) { date:"2014-01-01", person:"Ringo", activity:"swimming" }
(8) { date:"2014-01-02", person:"Ringo", activity:"cycling" }
(9) { date:"2014-01-03", person:"Ringo", activity:"climbing" } // <-- watch out activity
이 indexed
및 stored
모든 필드를 가정합니다.
는 지금은 swimming
AND
cycling
하지만 NOT
jogging
(2014
의 모든)을 한 모든 사람을 찾고 싶어요. 정답은 물론 Ringo
이어야합니다. 솔루션은 중첩 된 패싯 검색이 될 것이라고 생각하지만 확신 할 수 없으며 방법을 알지 못합니다.
일반적인 쿼리 인 경우 비 활동을 인덱싱하는 것도 고려해야합니다. '비 활동 : 조깅'과 같은 필드. 색인 측면에서 가능한 한 많은 작업을 수행하여 질의 측면을 더 빠르고 깨끗하게 만듭니다. – Risadinha