1、被搜尋的列必須被索引,否則搜尋不到資料,設定schema.xml檔案中該列的indexed為true,如下:
<field name="picurl" type="string" indexed="true" stored="true" required="false" />
2、solr搜尋非空文法為['' TO *],可以在搜尋URL中加上過慮條件fq,如下面表示隻搜尋picurl不為NULL的資料:
http://localhost:8070/sale/api.htm?indent=true&fq=picurl:['' TO *]
3、也可以在requestHandler中加上該fq,如:
<requestHandler name="/api" class="solr.StandardRequestHandler"
default="true">
<!-- default values for query parameters -->
<lst name="defaults">
<str name="title">産品供應搜尋</str>
<str name="wt">json</str>
<str name="defType">dismax</str>
<str name="ps">100</str>
<str name="qs">100</str>
<str name="q.alt">*:*</str>
<str name="rows">10</str>
<str name="fl">*,score</str>
<str name="sort">grade asc,begindate desc</str>
<str name="qf">title^10 name^1.0 text^0.2</str>
</lst>
<lst name="appends"><!-- 隻能搜尋picurl不為空的字段 -->
<str name="fq">picurl:['' TO *]</str>
</lst>
</requestHandler>