solr查询优先级

solr查询优先级,solr,Solr,我用两种方式进行了solr查询 方式1: status=“sent”和主机名:“host.com”和日志日期:[2011-12-08T00:00:00Z至2011-12-08T23:59:59Z] 结果:328232 方式2: 主机名:“host.com”和日志日期:[2011-12-08T00:00:00Z至2011-12-08T23:59:59Z]和状态=“已发送” 结果:62359 我在原始数据集中通过grep等进行了验证,发现第二种查询方式2:给出了正确的计数。查询应该是这样的还是我的查

我用两种方式进行了solr查询

方式1:

status=“sent”和主机名:“host.com”和日志日期:[2011-12-08T00:00:00Z至2011-12-08T23:59:59Z] 结果:328232

方式2:

主机名:“host.com”和日志日期:[2011-12-08T00:00:00Z至2011-12-08T23:59:59Z]和状态=“已发送” 结果:62359

我在原始数据集中通过grep等进行了验证,发现第二种查询方式2:给出了正确的计数。查询应该是这样的还是我的查询格式不正确


我的另一个问题是,我使用solr只是为了索引和搜索,因此,我是否可以告诉solr不计算分数,并且在返回结果时不担心分数?它会让我更快吗?

我认为你应该研究一下如何使用它来限制你的结果。我不确定您的主要查询是什么,以及什么可以作为过滤器查询传递,因为所有当前搜索字段似乎只是给定字段值的过滤器。因此,您可能会使用log_date作为主要查询词进行查询,如下所示:

 q=log_date:[2011-12-08T00:00:00Z TO 2011-12-08T23:59:59Z]&fq=status:"sent"&fq=hostname:"host.com"
您可能希望按照上面wiki链接中的指导,合并部分或全部筛选查询值


至于分数问题,Solr始终计算分数,因为Solr使用它返回索引中的相关项目并对其进行排序。因此,我认为不计算分数不可能关闭它或获得任何性能。如果通过更改
fl
参数不需要,则不能将分数指定为要返回的字段。

status=“sent”
是无效查询;它应该是
status:sent
感谢paige和mauricio的回复,paige指出的查询语法不正确。