0

我尝试遵循官方文档(http://www.php.net/manual/en/book.solr.php)中的 php 中 solr 的基本示例。

我想编写一个简单地返回 solr 索引的函数。

例如,考虑以下代码:

$options = array( 'hostname' => SOLR_SERVER_HOSTNAME );
$client = new SolrClient($options);
$doc = new SolrInputDocument();
$doc->addField('id', 12345);
$doc->addField('title', 'Stack Overflow');
$client->addDocument($doc);
$client->commit();

这完美地工作。但是,假设我想编写一个简单地返回 solr 索引的函数。例如:

function get_index(){
   $index = //something here
   ...
   return $index;
}

我怎样才能做到这一点?这可能吗?我是 solr 的新手,我正在使用 PECL Solr 客户端。(http://www.php.net/manual/en/book.solr.php

4

1 回答 1

1

请参阅Solr PECL 客户端示例页面中的示例 #4 和 #5。然后,您可以构建一个搜索并返回所有字段的查询,如下所示:

 $options = array (
     'hostname' => SOLR_SERVER_HOSTNAME,
     'port'     => SOLR_SERVER_PORT);
 $client = new SolrClient($options);
 $query = new SolrQuery();
 $query->setQuery('*:*');  // *:* means search all fields for all values.
 $query->setStart(0);
 $query->setRows(100000); //very large to ensure all rows are returned.
 $query->addField('*'); // * will return all fields
 $query_response = $client->query($query);
 $query_response->setParseMode(SolrQueryResponse::PARSE_SOLR_DOC);
 $response = $query_response->getResponse();
 print_r($response);

有关查询 Solr 的更多详细信息以及您可以使用的选项,请参阅以下内容:

于 2013-06-07T14:18:48.030 回答