我有以下文件:嵌套小Solr中搜索
(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