Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/solr/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Laravel 如何从solr查询特定记录?_Laravel_Solr - Fatal编程技术网

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 *]