Solr 用于忽略记录为空的行的查询

Solr 用于忽略记录为空的行的查询,solr,Solr,如何在Solr中省略记录为空的行?我尝试了一些排列,但似乎没有任何效果: 1:“约翰”、“蓝色”、“狗” 2:“苏”,“布朗”,“斑马” 3:“Mike”、“red”、“esp:[*TO*]限制包含esp字段的文档,因此您的查询可能如下所示: q=esp:[* TO *]&fq=enu:open 这些看起来不像Solr文档。你说的是abt多值字段吗?你说的“行”是什么意思?对不起,我是从SQL来的。不,这些不是实际的Solr文档,只是相关记录集的伪代码示例。我想要1、2和4,但不是3,

如何在Solr中省略记录为空的行?我尝试了一些排列,但似乎没有任何效果:

1:“约翰”、“蓝色”、“狗” 2:“苏”,“布朗”,“斑马”
3:“Mike”、“red”、“esp:[*TO*]限制包含
esp
字段的文档,因此您的查询可能如下所示:

q=esp:[* TO *]&fq=enu:open

这些看起来不像Solr文档。你说的是abt多值字段吗?你说的“行”是什么意思?对不起,我是从SQL来的。不,这些不是实际的Solr文档,只是相关记录集的伪代码示例。我想要1、2和4,但不是3,因为3中的第3个值中没有任何内容。那么为什么3与您的查询匹配?我不确定您的查询是什么以及字段索引的类型,因为3不应该与我的查询匹配,因为它有一个空字段。只有1、2和4应该与我的查询匹配。这不是一个实际的例子。我不知道什么是只返回1、2和4而不是3的查询,这是我的问题。下面是一个更具体的例子:ABC 12345 OpenÖffnen Abra Ouvrez Aprire DEF 23456 OpenGL OpenGL Close…结果是q::::::::&fq:[enu:Open,esp:[*to*]]或者更像那样。如果你编辑以反映这一点,我非常高兴奖励积分!是的,您可以将其添加为另一个筛选器查询,但前提是您要将结果缓存在筛选器缓存中。在对所有条件使用
fq
之前,您应该了解
q
fq
之间的区别。谢谢你给我指出那篇文章。我不知道f和fq之间的区别,但我不明白。不是反过来吗?q=enu:open&fq=esp:[*TO*]或“搜索enu包含open的所有记录,然后过滤掉不包含esp的记录?”没关系,只是回答了我自己愚蠢的问题。谢谢你,阿伦!