我有一个拥有数百万文档的SOLR实例。模式已经很好定义(即所有字段都是键入的)。所有的搜索/刻面等工作正常,没有任何问题。SOLR分析查询
但是,我试图做一些新的事情,我认为在当前版本中不支持。我在使用Jetty的Windows上运行SOLR 3.5。
为了简化问题,我的文档中包含像一些字段:
标识, 名称, 市 JOBTITLE
可以说让我有这样一个简单的数据: 普木,伦敦,导演 Ĵ史密斯,伦敦,项目经理 d锁,布莱顿,开发 ķPracy,伦敦,开发
例如起见,假设这是一个马让人们可以找到彼此的配料系统。还假定Id是唯一的ID。
我想写一个“采样”查询,它应该找到我的记录集,以匹配任何标准的其他记录。
因此,举例来说,我希望定义一个标准,如:
找我,谁将会匹配在不同城市的人differfent职称的人:如果上面的架构是一个RDBMS-SQL表
(可以说人),近似查询将是这样的:
SELECT P.Id, ( SELECT COUNT(1) FROM People PI Where PI.Id != P.Id AND PI.City != P.City AND PI.JobTitle != P.JobTitle ) AS FindCount FROM People P
好了,查询可能不会是可行的,但你的想法。无论如何,还有其他一些要求,即Findcount应该大于x且小于y。
有人可以让我知道,如果这可能在SOLR或如果这不是为SOLR的意思。我知道SOLR 4有一个Join运算符,但在我看来,这更像是一个限制使用的IN子句。例如,考虑我想在上面的查询中找到匹配的Id,而不是计数。
所有帮助表示赞赏。
感谢, IMMI