поиск по ключевым словам с nid 333 - PullRequest
0 голосов
/ 13 марта 2012

У меня есть простая схема:

 <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);

Ответы [ 2 ]

3 голосов
/ 13 марта 2012

Вы также можете использовать фильтр запроса:

$additionalParameters = array('fq' => 'nid:333');
$results = $solr->search($query, 0, $limit, $additionalParameters);
0 голосов
/ 13 марта 2012

Запрос будет выглядеть примерно так:

?q=+keywords:keyword +nid:nid

Конечно, знаки + должны быть закодированы URL, если вы вызываете веб-сервис Solr:% 2B - это кодировка для +. Причина этого в том, что в противном случае + будет интерпретироваться как пробел.

Кроме того, если в поле keywords выполняется поиск по умолчанию, вы можете опустить keywords: в запросе выше.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...