Laravel 如何从solr查询特定记录?
这就是数据的样子Laravel 如何从solr查询特定记录?,laravel,solr,Laravel,Solr,这就是数据的样子 id = 54, name = john, date_of_birth = 02-02-02 及 如果未应用任何筛选器,则只显示没有“出生日期”字段的记录,但如果用户希望检查哪个记录有“出生日期”字段,则只显示具有“出生日期”字段的记录。我们如何使用solr实现这一点?您可以通过查询*:*-出生日期:[*到*]来选择没有字段的记录,并且您可以通过查询出生日期:[*到*]来查询具有特定字段的所有文档 如果您查看这些查询,您可能会看到它们之间的关系: date_of_birth:
id = 54,
name = john,
date_of_birth = 02-02-02
及
如果未应用任何筛选器,则只显示没有“出生日期”字段的记录,但如果用户希望检查哪个记录有“出生日期”字段,则只显示具有“出生日期”字段的记录。我们如何使用solr实现这一点?您可以通过查询
*:*-出生日期:[*到*]
来选择没有字段的记录,并且您可以通过查询出生日期:[*到*]
来查询具有特定字段的所有文档
如果您查看这些查询,您可能会看到它们之间的关系:
date_of_birth:[* TO *]
。。生成包含字段的文档列表。在另一个(第一个)查询中,我们使用相同的查询,但现在我们将其作为一个否定查询进行减去——这意味着匹配它的任何文档都将从它前面的文档集中删除。特殊查询*:*
表示“索引中的所有文档”
如果这是查询的唯一部分,您通常可以删除
*:*
部分,因为如果查询为纯负数,Solr会自动将其添加到查询前面。但是,如果它是一个更大查询的一部分,则需要您自己预先添加*:*
。您尝试了什么?
date_of_birth:[* TO *]
*:* -date_of_birth:[* TO *]