Solr 4.2.1
似乎无论我尝试什么,我都无法从exists()函数中得到正确的结果。我用它来检查架构中是否存在“text_general”类型的字段。它有点工作,但是大约10%的时间是错误的。
以下是我在查询的FL部分中使用的简化代码来测试它。
fl=list:if(exists(title),1,0),title
以下是我收到的不正确的样本记录。
<str name="title">Tonight Tonight</str> #Obviously exists
<long name="list">0</long></doc> #Still returns 0
这是我的架构定义,也许text_general有问题吗?我在文档中找不到任何关于它的内容。
<field name="title" type="text_general" indexed="true" stored="true" required="false" multiValued="false" />
由于
答案 0 :(得分:0)
如果您想检查字段是否存在,请检查Negative queries。
-field:[* TO *] finds all documents without a value for field
您还可以尝试-field:["" TO *]