我有一个简单的架构:
<fields>
<field name="mongo_id" type="string" indexed="true" stored="true" required="true" />
<field name="nid" type="int" indexed="true" stored="true" required="true" />
<field name="keywords" type="text_general" indexed="true" stored="false" />
</fields>
我想返回与关键字匹配且具有特定nid的结果。
$query = $_GET['q'];
$solr = new Apache_Solr_Service('localhost', 8983, '/solr/');
$results = $solr->search($query, 0, $limit);
答案 0 :(得分:3)
您还可以使用过滤查询:
$additionalParameters = array('fq' => 'nid:333');
$results = $solr->search($query, 0, $limit, $additionalParameters);
答案 1 :(得分:0)
查询看起来像这样:
?q=+keywords:keyword +nid:nid
当然,如果您正在调用Solr Web服务,则+符号应该是URL编码:%2B是+的编码。原因是否则+将被解释为空格。
此外,如果默认搜索keywords
字段,您可以在上面的查询中省略keywords:
。