File: solrdismaxquery_001.php

package info (click to toggle)
php-solr 2.8.1-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 2,620 kB
  • sloc: ansic: 14,274; xml: 1,313; php: 1,239; pascal: 11; makefile: 3
file content (41 lines) | stat: -rw-r--r-- 997 bytes parent folder | download | duplicates (7)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
<?php
include "bootstrap.php";

$options = array
(
	'hostname' => SOLR_SERVER_HOSTNAME,
	'login'    => SOLR_SERVER_USERNAME,
	'password' => SOLR_SERVER_PASSWORD,
	'port'     => SOLR_SERVER_PORT,
	'path'     => SOLR_SERVER_PATH,
);

$client = new SolrClient($options);

$disMaxQuery = new SolrDisMaxQuery();

$disMaxQuery->setStart(0)->setQuery('solr')->setTimeAllowed(500)->setRows(17);

$disMaxQuery->addSortField('price', 0);

$disMaxQuery
	->setQueryAlt('*:*')->addQueryField('text', 1.5)
	->addQueryField('title', 5)
	->addBoostQuery('cat', 'electronics', 2)
	->setQueryPhraseSlop(1)
	->setBigramPhraseSlop(3)
	->addBigramPhraseField('text', 2.5)
	->addBigramPhraseField('type', 3, 4)
	->setTrigramPhraseFields('content^0.5 anchor~4^1.5 title^1.2 site^1.5')
;

$queryResponse = $client->query($disMaxQuery);

$response = $queryResponse->getResponse();

if($response->response->numFound > 0) {
	$docs = $response->response->docs;
	print_r($docs);
} else {
	echo "No Documents Found".PHP_EOL;
}