我通过以下方式将文档添加到 SOLR:
<doc>
<str name="id">INDIA_18</str>
<str name="textNew">text</str>
<str name="description">d1</str>
<str name="contentType">OLD</str>
</doc>
<doc>
<str name="id">INDIA_17</str>
<str name="textNew">text</str>
<str name="description">d2</str>
<str name="contentType">OLD</str>
</doc>
<doc>
<str name="id">INDIA_16</str>
<str name="textNew">text</str>
<str name="description">d2</str>
<str name="contentType">NEW</str>
</doc>
<doc>
<str name="id">INDIA_15</str>
<str name="textNew">text</str>
<str name="description">d3</str>
<str name="contentType">NEW</str>
</doc>
所有字段都是 STRING 字段,id 是文档的唯一属性。我正在使用 SOLR 4.0
我正在运行 solr 的以下 JOIN 查询:/select?q={!join+from=description+to=description}contentType:OLD
根据我对 JOIN 查询的理解,上述查询将首先选择 contentType 为 OLD 的描述(结果:d1,d2)。然后它将查找 contentType 为 d1、d2 的所有文档,因此应该返回三个文档作为整体结果。(2 个 contentType 为 OLD,1 个 contentType 为 NEW)
但是,相反,查询返回所有四个文档。
任何机构都可以查看查询/模式并指出错误所在。
在此先感谢,西德哈特。