我尝试从官方文档(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)
答案 0 :(得分:1)
请参阅示例#4& Solr PECL客户端的Examples页面中的#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的详细信息以及可以使用的选项,请参阅以下内容: