Join SOLR分析查询

Join SOLR分析查询,join,solr,analysis,Join,Solr,Analysis,我有一个SOLR实例,其中包含数百万个文档。模式定义良好,即所有字段都已键入。所有搜索/刻面等工作正常,没有任何问题 然而,我正在尝试做一些我认为当前版本不支持的新东西。我使用Jetty在Windows上运行SOLR 3.5 为了简化问题,我的文档包含以下字段: 身份证, 名称 城市 职务 假设我有一个示例数据,如: P Wood,伦敦,导演 史密斯,伦敦,项目经理 D洛克,布莱顿,开发商 K Pracy,伦敦,开发商 举例来说,假设这是一个匹配系统,允许人们找到彼此。还假设Id是唯一的Id 我

我有一个SOLR实例,其中包含数百万个文档。模式定义良好,即所有字段都已键入。所有搜索/刻面等工作正常,没有任何问题

然而,我正在尝试做一些我认为当前版本不支持的新东西。我使用Jetty在Windows上运行SOLR 3.5

为了简化问题,我的文档包含以下字段:

身份证, 名称 城市 职务

假设我有一个示例数据,如: P Wood,伦敦,导演 史密斯,伦敦,项目经理 D洛克,布莱顿,开发商 K Pracy,伦敦,开发商

举例来说,假设这是一个匹配系统,允许人们找到彼此。还假设Id是唯一的Id

我想写一个抽样查询,它应该为我找到与任何条件的其他记录相匹配的记录集

例如,我想定义一个标准,如:

给我找一个能匹配不同城市不同职位的人:

如果上面的模式是一个RDBMS-SQL表,比如说People,则近似查询如下:

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想要的吗。我知道Solr4附带了一个连接操作符,但在我看来,它更像是一个限制使用的IN子句。例如,考虑到我希望匹配ID也在上面的查询中,而不是计数。

< P>我不认为在1查询中是可行的,你可能会把运行内部选择作为单独查询每个人

今天5-6岁的问题被否决了吗?也许你应该解释一下为什么这对你不好。