ÿØÿà JFIF ÿÛ „ ( %!1!%*+...983,7(-.-
tests/016.solrclient_sendUpdateStream_file.phpt 0000644 00000001774 15234331363 0015631 0 ustar 00 --TEST--
SolrClient::sendUpdateStream - send SolrExtractRequest (file)
--SKIPIF--
--FILE--
SOLR_SERVER_HOSTNAME,
'login' => SOLR_SERVER_USERNAME,
'password' => SOLR_SERVER_PASSWORD,
'port' => SOLR_SERVER_PORT,
'path' => SOLR_SERVER_FILES_PATH,
);
$client = new SolrClient($options);
$extractParams = new SolrModifiableParams();
$extractParams
->set(SolrExtractRequest::LITERALS_PREFIX . 'id', 'doc1')
->set(SolrExtractRequest::CAPTURE_ELEMENTS, 'p')
->set(SolrExtractRequest::FIELD_MAPPING_PREFIX . 'p', 'text')
;
$extractRequest = SolrExtractRequest::createFromFile(EXTRACT_FILE_1, $extractParams);
$response = $client->sendUpdateStream($extractRequest);
$client->rollback();
echo $response->getHttpStatus() . PHP_EOL;
echo $response->getRequestUrl() . PHP_EOL;
?>
--EXPECTF--
200
http://%s/update/extract/?version=2.2&indent=on&wt=xml&literal.id=doc1&capture=p&fmap.p=text
tests/062.solrquery_date_facet_parameters.phpt 0000644 00000003704 15234331363 0015547 0 ustar 00 --TEST--
SolrQuery - Testing Date facet parameters
--FILE--
getFacetDateFields(),
$query->getFacetDateStart(),
$query->getFacetDateStart('june'),
$query->getFacetDateEnd(),
$query->getFacetDateEnd('israel'),
$query->getFacetDateGap(),
$query->getFacetDateGap('june'),
$query->getFacetDateHardEnd(),
$query->getFacetDateHardEnd('june'),
$query->getFacetDateOther(),
$query->getFacetDateOther('june')
);
$nullOutput = ob_get_clean();
$query->addFacetDateField('israel')
->addFacetDateField('israel')
->removeFacetDateField('israel')
;
$query->setFacetDateStart('January')->setFacetDateStart('Feb', 'june');
$query->setFacetDateEnd('Jan')->setFacetDateEnd('Febr', 'israel');
$query->setFacetDateGap('AOL')->setFacetDateGap('YAHOO', 'june');
$query->setFacetDateHardEnd(1)->setFacetDateHardEnd(0,'june');
$query->addFacetDateOther('Google')
->addFacetDateOther('Yahoos','june')
->addFacetDateOther('removeme')
->removeFacetDateOther('removeme');
echo $query. PHP_EOL . PHP_EOL;
var_dump(
$query->getFacetDateFields(),
$query->getFacetDateStart(),
$query->getFacetDateStart('june'),
$query->getFacetDateEnd(),
$query->getFacetDateEnd('israel'),
$query->getFacetDateGap(),
$query->getFacetDateGap('june'),
$query->getFacetDateHardEnd(),
$query->getFacetDateHardEnd('june'),
$query->getFacetDateOther(),
$query->getFacetDateOther('june')
);
echo $nullOutput;
?>
--EXPECTF--
facet.date=israel&facet.date.start=January&f.june.facet.date.start=Feb&facet.date.end=Jan&f.israel.facet.date.end=Febr&facet.date.gap=AOL&f.june.facet.date.gap=YAHOO&facet.date.hardend=true&f.june.facet.date.hardend=false&f.june.facet.date.other=Yahoos
array(1) {
[0]=>
string(6) "israel"
}
string(7) "January"
string(3) "Feb"
string(3) "Jan"
string(4) "Febr"
string(3) "AOL"
string(5) "YAHOO"
bool(true)
bool(false)
NULL
array(1) {
[0]=>
string(6) "Yahoos"
}
NULL
NULL
NULL
NULL
NULL
NULL
NULL
NULL
NULL
NULL
NULL tests/017.solrclient_deletebyqueries.phpt 0000644 00000002104 15234331363 0014542 0 ustar 00 --TEST--
SolrClient::deleteByQueries() - delete by multiple queries
--SKIPIF--
--FILE--
SOLR_SERVER_HOSTNAME,
'login' => SOLR_SERVER_USERNAME,
'password' => SOLR_SERVER_PASSWORD,
'port' => SOLR_SERVER_PORT,
'path' => SOLR_SERVER_PATH
);
$client = new SolrClient($options);
$serverOutput = $client->deleteByQueries([
'id:3675',
'id:2548'
]);
$response = $serverOutput->getResponse();
print_r($serverOutput->getRawRequest());
print_r($response);
try {
$client->deleteByQueries(array(0,''));
} catch (SolrIllegalArgumentException $e) {
echo sprintf("Exception %d: %s", $e->getCode(), $e->getMessage());
}
?>
--EXPECTF--
id:3675
id:2548
SolrObject Object
(
[responseHeader] => SolrObject Object
(
[status] => %d
[QTime] => %d
)
)
Exception 4000: Query number 1 is not a valid query string
tests/196.solrparams_serialize_php81.phpt 0000644 00000002210 15234331363 0014371 0 ustar 00 --TEST--
SolrParams::serialize() - serialize params
--SKIPIF--
--FILE--
setParam('q', 'lucene')
->setParam('start', 0)
->setParam('rows', 10)
->addParam('fq', 'popularity:[10 TO *]')
->addParam('fq', 'section:0')
;
echo serialize($params);
?>
--EXPECTF--
O:20:"SolrModifiableParams":1:{s:3:"xml";s:727:"
lucene
0
10
popularity:[10 TO *]
section:0
";}
tests/115.solrdismaxquery_userfields.phpt 0000644 00000001203 15234331363 0014607 0 ustar 00 --TEST--
SolrDisMaxQuery - UserFields (uf parameter) (addUserField)
--FILE--
addUserField('cat')
->addUserField('text')
->addUserField('*_dt')
;
echo $dismaxQuery.PHP_EOL;
// // reverse
$dismaxQuery
->removeUserField('text');
echo $dismaxQuery.PHP_EOL;
$dismaxQuery->setUserFields('field1 field2 *_txt');
echo $dismaxQuery.PHP_EOL;
?>
--EXPECTF--
q=lucene&defType=%s&uf=cat text *_dt
q=lucene&defType=%s&uf=cat *_dt
Notice: SolrDisMaxQuery::setUserFields(): Parameter uf value(s) was overwritten by this call in %s on line %d
q=lucene&defType=edismax&uf=field1 field2 *_txt tests/059.solrinputdocument_merge.phpt 0000644 00000006504 15234331363 0014104 0 ustar 00 --TEST--
SolrInputDocument::merge - Merge 2 docs
--FILE--
addField('id', 1123);
$doc->addField('features', "PHP Client Side", 4);
$doc->addField('features', "Fast development cycles");
$doc->addField('cat', 'Information Technology');
separator('original document');
print_r($doc->toArray());
$doc2 = new SolrInputDocument();
$doc2->addField('cat', 'Lucene Search');
$doc2->merge($doc, true); // merge doc into doc2, overwrite cat
separator('merge overwrite (cat field merged ?)');
print_r($doc->getField('cat')->values);
var_dump($doc->fieldExists('features'));
print_r($doc2->toArray());
$doc3 = new SolrInputDocument();
$doc3->addField('manu_s_id', 'apache');
$doc3->addField('id', '124');
$doc3->merge($doc, false); // do not overwrite
separator('merge without overwrite');
print_r($doc3->getField('id')->values);
separator('END');
?>
--EXPECT--
============================== original document ===============================
Array
(
[document_boost] => 0
[field_count] => 3
[fields] => Array
(
[0] => SolrDocumentField Object
(
[name] => id
[boost] => 0
[values] => Array
(
[0] => 1123
)
)
[1] => SolrDocumentField Object
(
[name] => features
[boost] => 4
[values] => Array
(
[0] => PHP Client Side
[1] => Fast development cycles
)
)
[2] => SolrDocumentField Object
(
[name] => cat
[boost] => 0
[values] => Array
(
[0] => Information Technology
)
)
)
)
===================== merge overwrite (cat field merged ?) =====================
Array
(
[0] => Information Technology
)
bool(true)
Array
(
[document_boost] => 0
[field_count] => 3
[fields] => Array
(
[0] => SolrDocumentField Object
(
[name] => cat
[boost] => 0
[values] => Array
(
[0] => Information Technology
)
)
[1] => SolrDocumentField Object
(
[name] => id
[boost] => 0
[values] => Array
(
[0] => 1123
)
)
[2] => SolrDocumentField Object
(
[name] => features
[boost] => 4
[values] => Array
(
[0] => PHP Client Side
[1] => Fast development cycles
)
)
)
)
=========================== merge without overwrite ============================
Array
(
[0] => 124
)
===================================== END ====================================== tests/072.solrquery_expand.phpt 0000644 00000002177 15234331363 0012530 0 ustar 00 --TEST--
SolrQuery - Expand Component
--FILE--
setExpand(true);
$query->setExpandRows(50);
$query->setExpandQuery('text:product');
$query->addExpandFilterQuery('manu:apple')->addExpandFilterQuery('inStock:true');
$query->addExpandSortField('score', SolrQuery::ORDER_DESC)->addExpandSortField('title', SolrQuery::ORDER_ASC);
// removal test
$query->addExpandFilterQuery('extra')->removeExpandFilterQuery('extra');
$query->addExpandSortField('extra', SolrQuery::ORDER_ASC)->removeExpandSortField('extra');
echo $query.PHP_EOL;
var_dump($query->getExpand()).PHP_EOL;
var_dump($query->getExpandRows()).PHP_EOL;
var_dump($query->getExpandQuery()).PHP_EOL;
var_dump($query->getExpandFilterQueries()).PHP_EOL;
var_dump($query->getExpandSortFields()).PHP_EOL;
?>
--EXPECTF--
q=lucene&expand=true&expand.rows=50&expand.q=text:product&expand.fq=manu:apple&expand.fq=inStock:true&expand.sort=score desc,title asc
bool(true)
int(50)
string(12) "text:product"
array(2) {
[0]=>
string(10) "manu:apple"
[1]=>
string(12) "inStock:true"
}
array(2) {
[0]=>
string(5) "score"
[1]=>
string(5) "title"
}
tests/020.solrdocument_update_field.phpt 0000644 00000004411 15234331363 0014331 0 ustar 00 --TEST--
SolrInputDocument::updateField
--FILE--
addField('id', 1123);
$doc->updateField('field1', SolrInputDocument::UPDATE_MODIFIER_ADD, 'val1');
$doc->updateField('field2_s', SolrInputDocument::UPDATE_MODIFIER_SET, 'val2');
$doc->updateField('field3_i', SolrInputDocument::UPDATE_MODIFIER_INC, 5);
$doc->updateField('field1', SolrInputDocument::UPDATE_MODIFIER_REMOVE, 'val0');
$doc->updateField('field1', SolrInputDocument::UPDATE_MODIFIER_REMOVEREGEX, '[\d]{2}/[\d]{2}/[\d]{4}');
try {
$doc->updateField('arr2', 6, 'not gonna happen');
} catch (SolrIllegalArgumentException $e) {
print_exception($e);
}
try {
$doc->updateField('arr3', 0, 'not gonna happen');
} catch (SolrIllegalArgumentException $e) {
print_exception($e);
}
print_r($doc->toArray());
?>
--EXPECT--
SolrIllegalArgumentException 4003: Invalid field value modifier.
SolrIllegalArgumentException 4003: Invalid field value modifier.
Array
(
[document_boost] => 0
[field_count] => 4
[fields] => Array
(
[0] => SolrDocumentField Object
(
[name] => id
[boost] => 0
[values] => Array
(
[0] => 1123
)
)
[1] => SolrDocumentField Object
(
[name] => field1
[boost] => 0
[values] => Array
(
[0] => val1
[1] => val0
[2] => [\d]{2}/[\d]{2}/[\d]{4}
)
)
[2] => SolrDocumentField Object
(
[name] => field2_s
[boost] => 0
[values] => Array
(
[0] => val2
)
)
[3] => SolrDocumentField Object
(
[name] => field3_i
[boost] => 0
[values] => Array
(
[0] => 5
)
)
)
)
tests/080.solrutils_escapequerychars.phpt 0000644 00000000523 15234331363 0014603 0 ustar 00 --TEST--
SolrUtils::escapeQueryChars() - Testing Lucene Reserved Characters
--FILE--
--EXPECTF--
\+a \- q\{ \} \[\^test\] \|| \&& \(\) \^ \" \~ \* \? \: \\ \/ tests/196.solrparams_serialize.phpt 0000644 00000002171 15234331363 0013357 0 ustar 00 --TEST--
SolrParams::serialize() - serialize params
--SKIPIF--
= 80100) die("skip PHP < 8.1 only"); ?>
--FILE--
setParam('q', 'lucene')
->setParam('start', 0)
->setParam('rows', 10)
->addParam('fq', 'popularity:[10 TO *]')
->addParam('fq', 'section:0')
;
echo serialize($params);
?>
--EXPECTF--
C:20:"SolrModifiableParams":727:{
lucene
0
10
popularity:[10 TO *]
section:0
}
tests/059.solrinputdocument_getfield.phpt 0000644 00000000666 15234331363 0014573 0 ustar 00 --TEST--
SolrInputDocument::getField
--FILE--
addField('id', 123);
$doc->addField('cat', 'Software');
var_dump($doc->getField('id'));
var_dump($doc->getField('non_existing_field'));
?>
--EXPECT--
object(SolrDocumentField)#2 (3) {
["name"]=>
string(2) "id"
["boost"]=>
float(0)
["values"]=>
array(1) {
[0]=>
string(3) "123"
}
}
bool(false)
tests/059.solrinputdocument_getfieldnames.phpt 0000644 00000000547 15234331363 0015615 0 ustar 00 --TEST--
SolrInputDocument::getFieldNames - Test document fieldnames
--FILE--
addField('id', 334455);
$doc->addField('manu_id_s', 'apache');
$doc->addField('cat', 'Software');
print_r($doc->getFieldNames());
?>
--EXPECT--
Array
(
[0] => id
[1] => manu_id_s
[2] => cat
)
tests/000.solr_int_arg.phpt 0000644 00000002661 15234331363 0011573 0 ustar 00 --TEST--
Solr - Accept int (non-strict mode
--SKIPIF--
--FILE--
SOLR_SERVER_HOSTNAME,
'login' => SOLR_SERVER_USERNAME,
'password' => SOLR_SERVER_PASSWORD,
'port' => SOLR_SERVER_PORT,
'path' => SOLR_SERVER_PATH
);
case_title(1, 'No arguments passed');
$client = new SolrClient($options);
$updateResponse = $client->optimize();
print $updateResponse->getRawRequest();
case_title(2, 'int argument passed');
$updateResponse = $client->optimize(4, true, false);
print $updateResponse->getRawRequest();
case_title(3, 'string argument passed');
$updateResponse = $client->optimize('5', true, false);
print $updateResponse->getRawRequest();
case_title(4, 'object argument passed');
try {
$updateResponse = $client->optimize(new StdClass());
} catch (SolrIllegalArgumentException $e) {
echo $e->getMessage() . PHP_EOL;
}
--EXPECTF--
case #1: No arguments passed
case #2: int argument passed
case #3: string argument passed
case #4: object argument passed
maxSegments must be of type int. tests/045.solrobject_array_access.phpt 0000644 00000004407 15234331363 0014007 0 ustar 00 --TEST--
SolrObject - checking dimension access on properties.
--FILE--
--EXPECT--
SolrObject Object
(
[status] => 0
[QTime] => 72
)
SolrObject Object
(
[threadCount] => SolrObject Object
(
[current] => 15
[peak] => 15
[daemon] => 13
)
[threadDump] => SolrObject Object
(
[thread] => SolrObject Object
(
[id] => 1
[name] => main
[state] => RUNNABLE
[native] => 1
[cpuTime] => 3340.0000ms
[userTime] => 3180.0000ms
[stackTrace] => Array
(
[0] => java.net.PlainSocketImpl.socketAccept(Native Method)
[1] => java.net.PlainSocketImpl.accept(PlainSocketImpl.java:384)
[2] => java.net.ServerSocket.implAccept(ServerSocket.java:450)
[3] => java.net.ServerSocket.accept(ServerSocket.java:421)
[4] => org.apache.catalina.core.StandardServer.await(StandardServer.java:389)
[5] => org.apache.catalina.startup.Catalina.await(Catalina.java:642)
[6] => org.apache.catalina.startup.Catalina.start(Catalina.java:602)
[7] => sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[8] => sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
[9] => sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
[10] => java.lang.reflect.Method.invoke(Method.java:585)
[11] => org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
[12] => org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
)
)
)
)
tests/014.solrclient_addDocument_nested_document.phpt 0000644 00000004076 15234331363 0017045 0 ustar 00 --TEST--
SolrClient::addDocument() - Sending a document with child documents
--SKIPIF--
--FILE--
SOLR_SERVER_HOSTNAME,
'login' => SOLR_SERVER_USERNAME,
'password' => SOLR_SERVER_PASSWORD,
'port' => SOLR_SERVER_PORT,
'path' => SOLR_SERVER_PATH
);
$client = new SolrClient($options);
$doc = new SolrInputDocument();
$doc->addField('id', 'CTEST_1');
$doc->addField('title', 'Solr adds block join support');
$doc->addField('content_type', 'parentDocument');
$doc2 = new SolrInputDocument();
$doc2->addField('id', 'CTEST_2');
$doc2->addField('comment_t', 'SolrCloud supports it too!');
$doc3 = new SolrInputDocument();
$doc3->addField('id', 'CTEST_3');
$doc3->addField('comment_t', 'Lots of features');
$doc->addChildDocument($doc2);
$doc->addChildDocument($doc3);
$doc4 = new SolrInputDocument();
$doc4->addField('id', 'CTEST_4');
$doc4->addField('comment_t', 'Child Child');
$doc3->addChildDocument($doc4);
$docs = $doc->getChildDocuments();
$docs[0]->addField('one_more_field_t', 'testing');
$updateResponse = $client->addDocument($doc);
print_r($updateResponse->getRawRequest());
print_r($updateResponse->getResponse());
$client->commit();
?>
--EXPECTF--
CTEST_1
Solr adds block join support
parentDocument
CTEST_2
SolrCloud supports it too!
testing
CTEST_3
Lots of features
CTEST_4
Child Child
SolrObject Object
(
[responseHeader] => SolrObject Object
(
[status] => %d
[QTime] => %d
)
) tests/000.solr_server_compat.phpt 0000644 00000001250 15234331363 0013012 0 ustar 00 --TEST--
Solr Server 4+ Compatibility Test
--SKIPIF--
--FILE--
SOLR_SERVER_HOSTNAME,
'login' => SOLR_SERVER_USERNAME,
'password' => SOLR_SERVER_PASSWORD,
'port' => SOLR_SERVER_PORT,
'path' => SOLR_SERVER_PATH
);
$client = new SolrClient($options);
$query_response = $client->system();
$solrVersion = $query_response->getResponse()->lucene['solr-spec-version'];
$match = preg_match('#([0-9]+)\.[0-9]+\.[0-9]+#', $solrVersion, $matches);
var_dump($matches[1] >=4 );
?>
--EXPECTF--
bool(true) tests/042.solrobject_magic_property.phpt 0000644 00000002364 15234331363 0014371 0 ustar 00 --TEST--
SolrObject - testing the magic property access
--FILE--
system->threadDump->thread->stackTrace);
?>
--EXPECT--
Array
(
[0] => java.net.PlainSocketImpl.socketAccept(Native Method)
[1] => java.net.PlainSocketImpl.accept(PlainSocketImpl.java:384)
[2] => java.net.ServerSocket.implAccept(ServerSocket.java:450)
[3] => java.net.ServerSocket.accept(ServerSocket.java:421)
[4] => org.apache.catalina.core.StandardServer.await(StandardServer.java:389)
[5] => org.apache.catalina.startup.Catalina.await(Catalina.java:642)
[6] => org.apache.catalina.startup.Catalina.start(Catalina.java:602)
[7] => sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[8] => sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
[9] => sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
[10] => java.lang.reflect.Method.invoke(Method.java:585)
[11] => org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
[12] => org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
)
tests/003.solrclient_options.phpt 0000644 00000005431 15234331363 0013043 0 ustar 00 --TEST--
SolrClient::__construct() - Test options
--SKIPIF--
--FILE--
SOLR_SERVER_HOSTNAME,
'login' => SOLR_SERVER_USERNAME,
'port' => SOLR_SERVER_PORT,
'password' => SOLR_SERVER_PASSWORD,
'path' => SOLR_SERVER_PATH,
'timeout' => 400
);
$client = new SolrClient($options);
$pingResponse = $client->ping();
print_r($pingResponse->getRawResponse());
$options = array
(
'hostname' => SOLR_SERVER_HOSTNAME,
'login' => SOLR_SERVER_USERNAME,
'port' => strval(SOLR_SERVER_PORT),
'password' => SOLR_SERVER_PASSWORD,
'path' => '/'.SOLR_SERVER_PATH,
'timeout' => '400'
);
$client = new SolrClient($options);
$pingResponse = $client->ping();
print_r($pingResponse->getRawResponse());
$options = array (
'hostname' => SOLR_SERVER_HOSTNAME,
'login' => SOLR_SERVER_USERNAME,
'port' => SOLR_SERVER_PORT,
'password' => SOLR_SERVER_PASSWORD,
'path' => SOLR_SERVER_PATH,
'proxy_host' => 'localhost',
'proxy_login' => 'test',
'proxy_password' => 'password',
'proxy_port' => 8181,
'query_string_delimiter' => '&'
);
$client = new SolrClient($options);
try {
$pingResponse = $client->ping();
} catch (SolrClientException $e) {
print_exception($e);
}
$options = array (
'hostname' => SOLR_SERVER_HOSTNAME,
'login' => SOLR_SERVER_USERNAME,
'port' => SOLR_SERVER_PORT,
'password' => SOLR_SERVER_PASSWORD,
'path' => SOLR_SERVER_PATH,
'proxy_host' => 'localhost',
'proxy_login' => 'test',
'proxy_password' => 'password',
'proxy_port' => '8181',
'query_string_delimiter' => '&'
);
$client = new SolrClient($options);
try {
$pingResponse = $client->ping();
} catch (SolrClientException $e) {
print_exception($e);
}
try {
$client = new SolrClient(array());
} catch (SolrIllegalArgumentException $e) {
print_exception($e);
}
$options = array
(
'hostname' => SOLR_SERVER_HOSTNAME,
'login' => SOLR_SERVER_USERNAME,
'port' => SOLR_SERVER_PORT,
'password' => SOLR_SERVER_PASSWORD,
'path' => SOLR_SERVER_PATH,
'ssl_cert' => '/tmp/unavailable.crt',
'ssl_key' => 'test',
'ssl_keypassword' => 'test',
'ssl_cainfo' => 'test',
'ssl_capath' => '/tmp/'
);
$client = new SolrClient($options);
try {
$pingResponse = $client->ping();
} catch (SolrClientException $e) {
print_exception($e);
}
?>
--EXPECTF--
HTTP/1.1 200 OK
Content-Type: application/xml; charset=UTF-8
Content-Length: 0
HTTP/1.1 200 OK
Content-Type: application/xml; charset=UTF-8
Content-Length: 0
SolrClientException 1004: Solr HTTP Error 7: 'Couldn't connect to server'
SolrClientException 1004: Solr HTTP Error 7: 'Couldn't connect to server'
SolrIllegalArgumentException 4000: The SolrClient options cannot be an empty array
tests/040.solrobject_xmlresponse.phpt 0000644 00000005040 15234331363 0013714 0 ustar 00 --TEST--
SolrObject - checking xml response digest
--FILE--
--EXPECT--
SolrObject Object
(
[responseHeader] => SolrObject Object
(
[status] => 0
[QTime] => 72
)
[system] => SolrObject Object
(
[threadCount] => SolrObject Object
(
[current] => 15
[peak] => 15
[daemon] => 13
)
[threadDump] => SolrObject Object
(
[thread] => SolrObject Object
(
[id] => 1
[name] => main
[state] => RUNNABLE
[native] => 1
[cpuTime] => 3340.0000ms
[userTime] => 3180.0000ms
[stackTrace] => Array
(
[0] => java.net.PlainSocketImpl.socketAccept(Native Method)
[1] => java.net.PlainSocketImpl.accept(PlainSocketImpl.java:384)
[2] => java.net.ServerSocket.implAccept(ServerSocket.java:450)
[3] => java.net.ServerSocket.accept(ServerSocket.java:421)
[4] => org.apache.catalina.core.StandardServer.await(StandardServer.java:389)
[5] => org.apache.catalina.startup.Catalina.await(Catalina.java:642)
[6] => org.apache.catalina.startup.Catalina.start(Catalina.java:602)
[7] => sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[8] => sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
[9] => sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
[10] => java.lang.reflect.Method.invoke(Method.java:585)
[11] => org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
[12] => org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
)
)
)
)
)
tests/bug_72740.phpt 0000644 00000005411 15234331363 0010127 0 ustar 00 --TEST--
Solr Bug #72740 - addPhraseField return wrong query
--SKIPIF--
--FILE--
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->addPhraseField( "phraseField1", 10, 5 );
$dismaxQuery->addPhraseField( "phraseField2", 5, 1 );
$dismaxQuery->addSortField('score', SolrQuery::ORDER_DESC);
$dismaxQuery->addSortField('manufacturedate_dt', SolrQuery::ORDER_DESC);
// Scenario 1: DisMax Query Parser - Adds Phrase Fields with both boost and slop.
// Expect:
// - pf parameter should list each phrase field with ~ and ^ prefix for slop and boost value respectively.
$queryResponse = $client->query( $dismaxQuery );
print_r($queryResponse->getResponse()->responseHeader->params);
// Scenario 2: Same as Scenario 1, now including explicit query fields too.
// Expect:
// - pf parameter should list each phrase field with ~ and ^ prefix for slop and boost value respectively.
// - qf parameter should list each query field with a trailing ^ (no boost here).
$dismaxQuery->addQueryField('score');
$dismaxQuery->addQueryField('manufacturedate_dt');
$queryResponse = $client->query( $dismaxQuery );
print_r($queryResponse->getResponse()->responseHeader->params);
// Scenario 3: Same as Scenario 2, now including explicit boost value for the query fields.
// Expect:
// - pf parameter should list each phrase field with ~ and ^ prefix for slop and boost value respectively.
// - qf parameter should list each query field with a ^ prefix for boost value.
$dismaxQuery->removeQueryField('score');
$dismaxQuery->removeQueryField('manufacturedate_dt');
$dismaxQuery->addQueryField('score', 3);
$dismaxQuery->addQueryField('manufacturedate_dt', 7);
$queryResponse = $client->query( $dismaxQuery );
print_r($queryResponse->getResponse()->responseHeader->params);
?>
--EXPECTF--
SolrObject Object
(
[q] => *:*
[defType] => edismax
[indent] => on
[pf] => phraseField1~5^10 phraseField2~1^5
[sort] => score desc,manufacturedate_dt desc
[version] => 2.2
[wt] => xml
)
SolrObject Object
(
[q] => *:*
[defType] => edismax
[indent] => on
[qf] => score^ manufacturedate_dt^
[pf] => phraseField1~5^10 phraseField2~1^5
[sort] => score desc,manufacturedate_dt desc
[version] => 2.2
[wt] => xml
)
SolrObject Object
(
[q] => *:*
[defType] => edismax
[indent] => on
[qf] => score^3 manufacturedate_dt^7
[pf] => phraseField1~5^10 phraseField2~1^5
[sort] => score desc,manufacturedate_dt desc
[version] => 2.2
[wt] => xml
) tests/112.solrdismaxquery_query_parser.phpt 0000644 00000000561 15234331363 0015166 0 ustar 00 --TEST--
SolrDisMaxQuery - QueryParser Switch
--FILE--
useDisMaxQueryParser();
echo $dismaxQuery.PHP_EOL;
$dismaxQuery->useEDisMaxQueryParser();
echo $dismaxQuery.PHP_EOL;
?>
--EXPECTF--
q=hard drive&defType=edismax
q=hard drive&defType=dismax
q=hard drive&defType=edismax tests/084.solrutils_queryphrase.phpt 0000644 00000000305 15234331363 0013606 0 ustar 00 --TEST--
SolrUtils::queryPhrase() - Escapes a query phrase
--FILE--
--EXPECT--
"Book Title\: Apache Solr Server"
tests/029.solrdocument_serialize_php81.phpt 0000644 00000002066 15234331363 0014730 0 ustar 00 --TEST--
SolrDocument - clone
--SKIPIF--
--FILE--
response->docs[1];
$serializedString = serialize($doc);
print_r($serializedString);
echo PHP_EOL;
print_r(unserialize($serializedString)->toArray());
?>
--EXPECT--
O:12:"SolrDocument":1:{s:3:"xml";s:172:"
parent_2
";}
Array
(
[document_boost] => 0
[field_count] => 1
[fields] => Array
(
[0] => SolrDocumentField Object
(
[name] => id
[boost] => 0
[values] => Array
(
[0] => parent_2
)
)
)
)
tests/044.solrobject_dimension_access_properties.phpt 0000644 00000004411 15234331363 0017124 0 ustar 00 --TEST--
SolrObject - checking dimension access on properties.
--FILE--
--EXPECT--
SolrObject Object
(
[status] => 0
[QTime] => 72
)
SolrObject Object
(
[threadCount] => SolrObject Object
(
[current] => 15
[peak] => 15
[daemon] => 13
)
[threadDump] => SolrObject Object
(
[thread] => SolrObject Object
(
[id] => 1
[name] => main
[state] => RUNNABLE
[native] => 1
[cpuTime] => 3340.0000ms
[userTime] => 3180.0000ms
[stackTrace] => Array
(
[0] => java.net.PlainSocketImpl.socketAccept(Native Method)
[1] => java.net.PlainSocketImpl.accept(PlainSocketImpl.java:384)
[2] => java.net.ServerSocket.implAccept(ServerSocket.java:450)
[3] => java.net.ServerSocket.accept(ServerSocket.java:421)
[4] => org.apache.catalina.core.StandardServer.await(StandardServer.java:389)
[5] => org.apache.catalina.startup.Catalina.await(Catalina.java:642)
[6] => org.apache.catalina.startup.Catalina.start(Catalina.java:602)
[7] => sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[8] => sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
[9] => sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
[10] => java.lang.reflect.Method.invoke(Method.java:585)
[11] => org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
[12] => org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
)
)
)
)
tests/015.solrclient_addDocuments_nested_document.phpt 0000644 00000004034 15234331363 0017223 0 ustar 00 --TEST--
SolrClient::addDocuments() - Sending multiple documents with child documents
--SKIPIF--
--FILE--
SOLR_SERVER_HOSTNAME,
'login' => SOLR_SERVER_USERNAME,
'password' => SOLR_SERVER_PASSWORD,
'port' => SOLR_SERVER_PORT,
'path' => SOLR_SERVER_PATH
);
$client = new SolrClient($options);
$doc = new SolrInputDocument();
$doc->addField('id', 'CTEST_1');
$doc->addField('title', 'Solr adds block join support');
$doc->addField('content_type', 'parentDocument');
$doc2 = new SolrInputDocument();
$doc2->addField('id', 'CTEST_2');
$doc2->addField('comment_t', 'SolrCloud supports it too!');
$doc3 = new SolrInputDocument();
$doc3->addField('id', 'CTEST_3');
$doc3->addField('content_type', 'parentDocument');
$doc3->addField('comment_t', 'Lots of features');
$doc4 = new SolrInputDocument();
$doc4->addField('id', 'CTEST_4');
$doc4->addField('comment_t', 'Cool features');
$doc->addChildDocument($doc2);
$doc3->addChildDocument($doc4);
$documents = [$doc, $doc3];
$updateResponse = $client->addDocuments($documents);
print_r($updateResponse->getRawRequest());
print_r($updateResponse->getResponse());
$client->commit();
?>
--EXPECTF--
CTEST_1
Solr adds block join support
parentDocument
CTEST_2
SolrCloud supports it too!
CTEST_3
parentDocument
Lots of features
CTEST_4
Cool features
SolrObject Object
(
[responseHeader] => SolrObject Object
(
[status] => %d
[QTime] => %d
)
) tests/026.solrdocument_getchilddocscount.phpt 0000644 00000000522 15234331363 0015416 0 ustar 00 --TEST--
SolrDocument::getChildDocumentsCount() - Method test
--FILE--
response->docs[0]->getChildDocumentsCount());
?>
--EXPECT--
int(1) tests/018.solrclient_setservlet.phpt 0000644 00000001443 15234331363 0013555 0 ustar 00 --TEST--
SolrClient::setServlet() - set different servlet for a certain request type
--SKIPIF--
--FILE--
SOLR_SERVER_HOSTNAME,
'login' => SOLR_SERVER_USERNAME,
'password' => SOLR_SERVER_PASSWORD,
'port' => SOLR_SERVER_PORT,
'path' => SOLR_SERVER_PATH
);
$client = new SolrClient($options);
$response = $client->ping();
echo $response->getRequestUrl().PHP_EOL;
$client->setServlet(SolrClient::PING_SERVLET_TYPE, 'select');
$response = $client->ping();
echo $response->getRequestUrl().PHP_EOL;
?>
--EXPECTF--
http://%s/solr/collection1/admin/ping/?version=2.2&indent=on&wt=xml
http://%s/solr/collection1/select/?version=2.2&indent=on&wt=xml
tests/200.solrextractrequest_clone.phpt 0000644 00000000647 15234331363 0014260 0 ustar 00 --TEST--
SolrExtractRequest - clone [exception]
--FILE--
getCode(), $e->getMessage()).PHP_EOL;
}
?>
--EXPECTF--
Exception 4001: Cloning of SolrExtractRequest objects is currently not supported
tests/000.solrclient_ping.phpt 0000644 00000001102 15234331363 0012271 0 ustar 00 --TEST--
SolrClient::ping() - Ping Solr Server
--SKIPIF--
--FILE--
SOLR_SERVER_HOSTNAME,
'login' => SOLR_SERVER_USERNAME,
'password' => SOLR_SERVER_PASSWORD,
'port' => SOLR_SERVER_PORT,
'path' => SOLR_SERVER_PATH
);
$client = new SolrClient($options);
$pingResponse = $client->ping();
echo $pingResponse->getRawResponse();
?>
--EXPECT--
HTTP/1.1 200 OK
Content-Type: application/xml; charset=UTF-8
Content-Length: 0 tests/003.solrclient_addDocuments_commitwithin.phpt 0000644 00000001743 15234331363 0016557 0 ustar 00 --TEST--
SolrClient::addDocuments() - sending multiple documents to the Solr server
--SKIPIF--
--FILE--
SOLR_SERVER_HOSTNAME,
'login' => SOLR_SERVER_USERNAME,
'password' => SOLR_SERVER_PASSWORD,
'port' => SOLR_SERVER_PORT,
'path' => SOLR_SERVER_PATH,
);
$client = new SolrClient($options);
$doc = new SolrInputDocument();
$doc->addField('id', 334455);
$doc->addField('cat', 'Software');
$doc->addField('cat', 'Lucene');
$doc2 = new SolrInputDocument();
$doc2->addField('id', 12345);
$doc->addField('cat', 'Category1');
$doc->addField('cat', 'Category2');
$docs = array($doc, $doc2);
$updateResponse = $client->addDocuments($docs, true, 500);
print_r($updateResponse->getResponse());
?>
--EXPECTF--
SolrObject Object
(
[responseHeader] => SolrObject Object
(
[status] => 0
[QTime] => %d
)
)
tests/050.solrinputdocument_addchilddocument_01.phpt 0000644 00000001441 15234331363 0016562 0 ustar 00 --TEST--
SolrInputDocument::addChildDocument() - add child document
--FILE--
addField('id', 1123);
$doc->addField('features', "PHP Client Side");
$doc->addField('features', "Fast development cycles");
$doc->cat = 'Information Technology';
$secondDoc->addField('cat', 'Lucene Search');
$secondDoc->cat = 'Custom Search';
$doc->addChildDocument($secondDoc);
var_dump($doc->hasChildDocuments(), $secondDoc->hasChildDocuments());
$childs = $doc->getChildDocuments();
print_r($childs[0]->getField('cat'));
?>
--EXPECT--
bool(true)
bool(false)
SolrDocumentField Object
(
[name] => cat
[boost] => 0
[values] => Array
(
[0] => Lucene Search
)
)
tests/071.solrquery_collapse_exception.phpt 0000644 00000000644 15234331363 0015125 0 ustar 00 --TEST--
SolrQuery::collapse - throws SolrMissingMandatoryParameterException
--FILE--
collapse($collapseFunction);
} catch (SolrMissingMandatoryParameterException $e) {
echo PHP_EOL.sprintf('Exception %d: %s', $e->getCode(), $e->getMessage());
}
?>
--EXPECTF--
Exception 4100: Mandatory parameter Missing: field
tests/065.solrquery_MoreLikeThis.phpt 0000644 00000003464 15234331363 0013612 0 ustar 00 --TEST--
SolrQuery - testing MoreLikeThis component
--FILE--
getMlt(),
$query->getMltCount(),
$query->getMltFields(),
$query->getMltQueryFields(),
$query->getMltMinTermFrequency(),
$query->getMltMinDocFrequency(),
$query->getMltMinWordLength(),
$query->getMltMaxWordLength(),
$query->getMltMaxNumTokens(),
$query->getMltMaxNumQueryTerms(),
$query->getMltBoost()
);
$nullOutput = ob_get_clean();
$query->setMlt(1);
$query->setMltCount(55)->setMltCount(90);
$query->addMltField('june')->addMltField('joshua')->addMltField('mom')->removeMltField('joshua');
$query->addMltQueryField('june', 0.0)->addMltQueryField('israel', 9.558)
->addMltQueryField('removeme', 0.0)
->removeMltQueryField('removeme')
;
$query->setMltMinTermFrequency(9);
$query->setMltMinDocFrequency(5);
$query->setMltMinWordLength(8);
$query->setMltMaxWordLength(99);
$query->setMltMaxNumTokens(6);
$query->setMltMaxNumQueryTerms(2);
$query->setMltBoost(true);
echo $query . PHP_EOL . PHP_EOL;
var_dump(
$query->getMlt(),
$query->getMltCount(),
$query->getMltFields(),
$query->getMltQueryFields(),
$query->getMltMinTermFrequency(),
$query->getMltMinDocFrequency(),
$query->getMltMinWordLength(),
$query->getMltMaxWordLength(),
$query->getMltMaxNumTokens(),
$query->getMltMaxNumQueryTerms(),
$query->getMltBoost()
);
echo $nullOutput;
?>
--EXPECTF--
mlt=true&mlt.count=90&mlt.fl=june,mom&mlt.qf=june^0 israel^9.558&mlt.mintf=9&mlt.mindf=5&mlt.minwl=8&mlt.maxwl=99&mlt.maxntp=6&mlt.maxqt=2&mlt.boost=true
bool(true)
int(90)
array(2) {
[0]=>
string(4) "june"
[1]=>
string(3) "mom"
}
array(2) {
[0]=>
string(6) "june^0"
[1]=>
string(12) "israel^9.558"
}
int(9)
int(5)
int(8)
int(99)
int(6)
int(2)
bool(true)
NULL
NULL
NULL
NULL
NULL
NULL
NULL
NULL
NULL
NULL
NULL tests/111.solrdismaxquery_boostquery.phpt 0000644 00000001251 15234331363 0014655 0 ustar 00 --TEST--
SolrDisMaxQuery - Boost Query
--FILE--
addBoostQuery('cat', 'electronics', 5.1)
->addBoostQuery('cat', 'hard drive')
;
// reverse
echo $dismaxQuery.PHP_EOL;
$dismaxQuery
->removeBoostQuery('cat');
echo $dismaxQuery.PHP_EOL;
$dismaxQuery->setBoostQuery('cat:electronics manu:local^2');
echo $dismaxQuery.PHP_EOL;
?>
--EXPECTF--
q=lucene&defType=edismax&bq=cat:electronics^5.1 cat:hard drive
q=lucene&defType=edismax&bq=cat:hard drive
Notice: SolrDisMaxQuery::setBoostQuery(): Parameter bq value(s) was overwritten by this call in %s on line %d
q=lucene&defType=edismax&bq=cat:electronics manu:local^2
tests/194.solrparams_getpreparedparams.phpt 0000644 00000000573 15234331363 0015100 0 ustar 00 --TEST--
SolrParams::getPreparedParams()
--FILE--
set('q', 'lucene')
->addParam('fq', 'popularity:[10 TO *]')
->addParam('fq', 'section:0')
;
var_dump($params->getPreparedParams());
?>
--EXPECT--
array(2) {
["q"]=>
string(8) "q=lucene"
["fq"]=>
string(50) "fq=popularity%3A%5B10%20TO%20%2A%5D&fq=section%3A0"
}
tests/bug_70495.phpt 0000644 00000001746 15234331363 0010143 0 ustar 00 --TEST--
Solr Bug #70495 - Failed to parse 500 error response when Solr it lacks msg JSON RW
--SKIPIF--
--FILE--
SOLR_SERVER_HOSTNAME,
'login' => SOLR_SERVER_USERNAME,
'password' => SOLR_SERVER_PASSWORD,
'port' => SOLR_SERVER_PORT,
'path' => SOLR_SERVER_PATH,
'wt' => 'json'
);
$client = new SolrClient($options);
$query = new SolrQuery('*:*');
$func = new SolrCollapseFunction('manu_id_s');
$func->setMax('sum(cscore(),field(manu_id_s))');
$func->setSize(100);
$func->setNullPolicy(SolrCollapseFunction::NULLPOLICY_EXPAND);
$query->collapse($func);
try {
$queryResponse = $client->query($query);
} catch (SolrServerException $e) {
printf("Exception code %d", $e->getCode());
assert(strlen($e->getMessage()) > 0, 'Exception message is empty');
}
?>
OK
--EXPECTF--
Exception code 500
OK tests/108.solrresponse_getdigestedresponse.phpt 0000644 00000003445 15234331363 0016010 0 ustar 00 --TEST--
SolrResponse::getDigestedResponse() - Get Raw Response Headers
--SKIPIF--
--FILE--
SOLR_SERVER_HOSTNAME,
'login' => SOLR_SERVER_USERNAME,
'password' => SOLR_SERVER_PASSWORD,
'port' => SOLR_SERVER_PORT,
'path' => SOLR_SERVER_PATH,
);
$client = new SolrClient($options);
$query = new SolrQuery();
$query->setQuery('lucene');
$query->setStart(0);
$query->setRows(50);
$query->addField('cat')->addField('features')->addField('id')->addField('timestamp');
$query_response = $client->query($query);
var_dump($query_response->getDigestedResponse());
$tmp = $query_response->getResponse();
$digestedResponse = $query_response->getDigestedResponse();
print_r($digestedResponse);
?>
--EXPECTF--
string(1) " "
O:10:"SolrObject":2:{s:14:"responseHeader";O:10:"SolrObject":3:{s:6:"status";i:0;s:5:"QTime";i:%d;s:%d:"params";O:10:"SolrObject":7:{s:1:"q";s:6:"lucene";s:6:"indent";s:2:"on";s:2:"fl";s:25:"cat,features,id,timestamp";s:5:"start";s:1:"0";s:4:"rows";s:2:"50";s:7:"version";s:3:"2.2";s:2:"wt";s:3:"xml";}}s:8:"response";O:10:"SolrObject":3:{s:8:"numFound";i:1;s:5:"start";i:0;s:4:"docs";a:1:{i:0;O:10:"SolrObject":3:{s:2:"id";s:8:"SOLR1000";s:3:"cat";a:2:{i:0;s:8:"software";i:1;s:6:"search";}s:8:"features";a:7:{i:0;s:51:"Advanced Full-Text Search Capabilities using Lucene";i:1;s:37:"Optimized for High Volume Web Traffic";i:2;s:46:"Standards Based Open Interfaces - XML and HTTP";i:3;s:44:"Comprehensive HTML Administration Interfaces";i:4;s:64:"Scalability - Efficient Replication to other Solr Search Servers";i:5;s:56:"Flexible and Adaptable with XML configuration and Schema";i:6;s:62:"Good unicode support: héllo (hello with an accent over the e)";}}}}} tests/104.solrresponse_get_response_maxscore.phpt 0000644 00000002420 15234331363 0016323 0 ustar 00 --TEST--
SolrResponse::getResponse() - maxScore
--SKIPIF--
--FILE--
SOLR_SERVER_HOSTNAME,
'login' => SOLR_SERVER_USERNAME,
'password' => SOLR_SERVER_PASSWORD,
'port' => SOLR_SERVER_PORT,
'path' => SOLR_SERVER_PATH,
'wt'=> 'xml'
);
$client = new SolrClient ( $options );
$q = new SolrQuery("lucene");
$q->addField('score');
$response = $client->query ( $q );
$arrayResponse = $response->getArrayResponse();
var_dump($arrayResponse['response']['maxScore']);
var_dump($response->getResponse()->response->maxScore);
var_dump($response->getResponse()->response->start);
var_dump($response->getResponse()->response->numFound);
var_dump(is_array($response->getResponse()->response->docs));
echo "------ W/O maxScore ------".PHP_EOL;
$q->removeField('score');
$response = $client->query ( $q );
var_dump($response->getResponse()->response->start);
var_dump($response->getResponse()->response->numFound);
var_dump(is_array($response->getResponse()->response->docs));
var_dump(property_exists($response->getResponse()->response, 'maxScore'));
?>
--EXPECTF--
float(%f)
float(%f)
int(%d)
int(%d)
bool(true)
------ W/O maxScore ------
int(0)
int(1)
bool(true)
bool(false) tests/063.solrquery_HighlightingParameters.phpt 0000644 00000011776 15234331363 0015707 0 ustar 00 --TEST--
SolrQuery - testing HighlightingParameters
--FILE--
getHighlight(),
$query->getHighlightQuery(),
$query->getHighlightFields(),
$query->getHighlightSnippets(),
$query->getHighlightSnippets('june'),
$query->getHighlightFragsize(),
$query->getHighlightFragsize('june'),
$query->getHighlightMergeContiguous(),
$query->getHighlightMergeContiguous('june'),
$query->getHighlightRequireFieldMatch(),
$query->getHighlightMaxAnalyzedChars(),
$query->getHighlightAlternateField(),
$query->getHighlightAlternateField('june'),
$query->getHighlightMaxAlternateFieldLength(),
$query->getHighlightMaxAlternateFieldLength('june'),
$query->getHighlightFormatter(),
$query->getHighlightFormatter('june'),
$query->getHighlightSimplePre(),
$query->getHighlightSimplePre('june'),
$query->getHighlightSimplePost(),
$query->getHighlightSimplePost('june'),
$query->getHighlightFragmenter(),
$query->getHighlightFragmenter('june'),
$query->getHighlightUsePhraseHighlighter(),
$query->getHighlightHighlightMultiTerm(),
$query->getHighlightRegexSlop(),
$query->getHighlightRegexPattern(),
$query->getHighlightRegexMaxAnalyzedChars()
);
$nullOutput = ob_get_clean();
$query->setHighlight(true);
$query->setHighlightQuery('title:PHP OR description:Solr');
$query->addHighlightField('a')->addHighlightField('a')->addHighlightField('a')
->addHighlightField('b');
$query->removeHighlightField('a')->removeHighlightField('a')->removeHighlightField('a');
$query->setHighlightSnippets(4)->setHighlightSnippets(5, 'june');
$query->setHighlightFragsize(41)->setHighlightFragsize(52, 'june');
$query->setHighlightMergeContiguous(true)->setHighlightMergeContiguous(false, 'june');
$query->setHighlightRequireFieldMatch(true);
$query->setHighlightMaxAnalyzedChars(44)->setHighlightMaxAnalyzedChars(53);
$query->setHighlightAlternateField('pizza')->setHighlightAlternateField('bread', 'june');
$query->setHighlightAlternateField('blue')->setHighlightAlternateField('red','june');
$query->setHighlightAlternateField('a')->setHighlightAlternateField('b','june');
$query->setHighlightMaxAlternateFieldLength(300)->setHighlightMaxAlternateFieldLength(335, 'june');
$query->setHighlightFormatter('F')->setHighlightFormatter('G', 'june');
$query->setHighlightSimplePre('OO')->setHighlightSimplePre('PP', 'june');
$query->setHighlightSimplePost('ZZ')->setHighlightSimplePost('YY', 'june');
$query->setHighlightFragmenter('gap')->setHighlightFragmenter('space', 'june');
$query->setHighlightUsePhraseHighlighter(false);
$query->setHighlightHighlightMultiTerm(1);
$query->setHighlightRegexSlop(0.0025);
$query->setHighlightRegexPattern("israel")->setHighlightRegexPattern("ekpo");
$query->setHighlightRegexMaxAnalyzedChars(444)->setHighlightRegexMaxAnalyzedChars(5.0);
echo $query . PHP_EOL . PHP_EOL;
var_dump(
$query->getHighlight(),
$query->getHighlightFields(),
$query->getHighlightSnippets(),
$query->getHighlightSnippets('june'),
$query->getHighlightFragsize(),
$query->getHighlightFragsize('june'),
$query->getHighlightMergeContiguous(),
$query->getHighlightMergeContiguous('june'),
$query->getHighlightRequireFieldMatch(),
$query->getHighlightMaxAnalyzedChars(),
$query->getHighlightAlternateField(),
$query->getHighlightAlternateField('june'),
$query->getHighlightMaxAlternateFieldLength(),
$query->getHighlightMaxAlternateFieldLength('june'),
$query->getHighlightFormatter(),
$query->getHighlightFormatter('june'),
$query->getHighlightSimplePre(),
$query->getHighlightSimplePre('june'),
$query->getHighlightSimplePost(),
$query->getHighlightSimplePost('june'),
$query->getHighlightFragmenter(),
$query->getHighlightFragmenter('june'),
$query->getHighlightUsePhraseHighlighter(),
$query->getHighlightHighlightMultiTerm(),
$query->getHighlightRegexSlop(),
$query->getHighlightRegexPattern(),
$query->getHighlightRegexMaxAnalyzedChars()
);
echo PHP_EOL.$nullOutput;
?>
--EXPECT--
hl=true&hl.q=title:PHP OR description:Solr&hl.fl=b&hl.snippets=4&f.june.hl.snippets=5&hl.fragsize=41&f.june.hl.fragsize=52&hl.mergeContiguous=true&f.june.hl.mergeContiguous=false&hl.requireFieldMatch=true&hl.maxAnalyzedChars=53&hl.alternateField=a&f.june.hl.alternateField=b&hl.maxAlternateFieldLength=300&f.june.hl.maxAlternateFieldLength=335&hl.formatter=F&f.june.hl.formatter=G&hl.simple.pre=OO&f.june.hl.simple.pre=PP&hl.simple.post=ZZ&f.june.hl.simple.post=YY&hl.fragmenter=gap&f.june.hl.fragmenter=space&hl.usePhraseHighlighter=false&hl.highlightMultiTerm=true&hl.regex.slop=0.0025&hl.regex.pattern=ekpo&hl.regex.maxAnalyzedChars=5
bool(true)
array(1) {
[0]=>
string(1) "b"
}
int(4)
int(5)
int(41)
int(52)
bool(true)
bool(false)
bool(true)
int(53)
string(1) "a"
string(1) "b"
int(300)
int(335)
string(1) "F"
string(1) "G"
string(2) "OO"
string(2) "PP"
string(2) "ZZ"
string(2) "YY"
string(3) "gap"
string(5) "space"
bool(false)
bool(true)
float(0.0025)
string(4) "ekpo"
int(5)
NULL
NULL
NULL
NULL
NULL
NULL
NULL
NULL
NULL
NULL
NULL
NULL
NULL
NULL
NULL
NULL
NULL
NULL
NULL
NULL
NULL
NULL
NULL
NULL
NULL
NULL
NULL
NULL
tests/198.solrparams_clone.phpt 0000644 00000000774 15234331363 0012501 0 ustar 00 --TEST--
SolrParams - clone [exception]
--FILE--
setParam('q', 'lucene')
->setParam('start', 0)
->setParam('rows', 10)
->addParam('fq', 'popularity:[10 TO *]')
->addParam('fq', 'section:0')
;
try {
$params2 = clone $params;
} catch (SolrIllegalOperationException $e) {
echo sprintf("Exception %d: %s", $e->getCode(), $e->getMessage()).PHP_EOL;
}
?>
--EXPECTF--
Exception 4001: Cloning of SolrParams object instances is currently not supported
tests/bug_68181.phpt 0000644 00000001101 15234331363 0010123 0 ustar 00 --TEST--
Solr Bug #68181 - Conflict occurs when using SolrDisMax::addBoostQuery and setBoostQuery
--FILE--
setBoostQuery("failing:val^3")
->addBoostQuery('category','software',2)
->setBoostQuery("end:result^4");
echo $dismaxQuery.PHP_EOL;
?>
--EXPECTF--
Notice: SolrDisMaxQuery::addBoostQuery(): Parameter bq value(s) was overwritten by this call in %s on line %d
Notice: SolrDisMaxQuery::setBoostQuery(): Parameter bq value(s) was overwritten by this call in %s on line %d
q=lucene&defType=%s&bq=end:result^4 tests/019.solrclient_getdebug.phpt 0000644 00000002602 15234331363 0013142 0 ustar 00 --TEST--
SolrClient::getDebug() - Get request debug logs for the last request
--SKIPIF--
--FILE--
SOLR_SERVER_HOSTNAME,
'login' => SOLR_SERVER_USERNAME,
'password' => SOLR_SERVER_PASSWORD,
'port' => SOLR_SERVER_PORT,
'path' => SOLR_SERVER_PATH
);
$client = new SolrClient($options);
$response = $client->ping();
$debug = $client->getDebug();
$lines = explode("\n",$debug);
$print = false;
sort($lines);
foreach ( $lines as $line) {
if ($line == '' ||
FALSE !== strpos($line, 'Trying') ||
0 === strpos($line, 'Mark bundle') ||
0 === strpos($line, 'Server') ||
0 === strpos($line, 'Hostname') ||
0 === strpos($line, 'TCP_NODELAY') ||
0 === strpos($line, 'Accept-Encoding') ||
0 === strpos($line, 'Curl_http_done') ||
0 === strpos($line, 'processing:')
) {
$print = false;
} else {
$print = true;
}
if ($print) {
echo $line . "\n";
}
}
?>
--EXPECTF--
Accept-Charset: utf-8
Accept: */*
Authorization: Basic %s
Connected to %s
Connection #0 to host %s left intact
Connection: keep-alive
Content-Length: 0
Content-Type: application/xml; charset=UTF-8
HEAD /solr/collection1/admin/ping/?version=2.2&indent=on&wt=xml HTTP/1.1
HTTP/1.1 200 OK
Host: %s:%s
Keep-Alive: 300
User-Agent: %s
tests/197.solrparams_unserialize.phpt 0000644 00000000677 15234331363 0013734 0 ustar 00 --TEST--
SolrParams::unserialize()
--FILE--
setParam('q', 'lucene')
->setParam('start', 0)
->setParam('rows', 10)
->addParam('fq', 'popularity:[10 TO *]')
->addParam('fq', 'section:0')
;
$serializedString = serialize($params);
$unserializedObject = unserialize($serializedString);
echo $unserializedObject;
?>
--EXPECTF--
q=lucene&start=0&rows=10&fq=popularity:[10 TO *]&fq=section:0
tests/bug_70482.phpt 0000644 00000001702 15234331363 0010127 0 ustar 00 --TEST--
Solr Bug #70482 - Segmentation fault on server 500 response with no msg field XML RW
--SKIPIF--
--FILE--
SOLR_SERVER_HOSTNAME,
'login' => SOLR_SERVER_USERNAME,
'password' => SOLR_SERVER_PASSWORD,
'port' => SOLR_SERVER_PORT,
'path' => SOLR_SERVER_PATH,
'wt' => 'xml'
);
$client = new SolrClient($options);
$query = new SolrQuery('*:*');
$func = new SolrCollapseFunction('manu_id_s');
$func->setMax('sum(cscore(),field(manu_id_s))');
$func->setSize(100);
$func->setNullPolicy(SolrCollapseFunction::NULLPOLICY_EXPAND);
$query->collapse($func);
try {
$queryResponse = $client->query($query);
} catch (SolrServerException $e) {
printf("Exception code %d", $e->getCode());
assert(strlen($e->getMessage()) > 0, 'Exception message is empty');
echo PHP_EOL;
}
?>
OK
--EXPECTF--
Exception code %d
OK tests/030.solrdocument_magic.phpt 0000644 00000000734 15234331363 0012771 0 ustar 00 --TEST--
SolrDocument - magic __isset/__unset/__get/__set
--FILE--
check = 1;
$doc->deleteMe = 1;
var_dump(isset($doc->check));
var_dump(isset($doc->doesNotExist));
var_dump(isset($doc->deleteMe));
unset($doc->deleteMe);
var_dump(isset($doc->deleteMe));
$doc->addField('id', 1);
var_dump($doc->id instanceof SolrDocumentField);
?>
--EXPECTF--
bool(true)
bool(false)
bool(true)
bool(false)
bool(true) tests/017.solrclient_threads.phpt 0000644 00000001130 15234331363 0012777 0 ustar 00 --TEST--
SolrClient::threads() - Solr Threads Info
--SKIPIF--
--FILE--
SOLR_SERVER_HOSTNAME,
'login' => SOLR_SERVER_USERNAME,
'password' => SOLR_SERVER_PASSWORD,
'port' => SOLR_SERVER_PORT,
'path' => SOLR_SERVER_PATH
);
$client = new SolrClient($options);
$response = $client->threads()->getResponse();
print_r($response->system->threadCount);
?>
--EXPECTF--
SolrObject Object
(
[current] => %d
[peak] => %d
[daemon] => %d
)
tests/105.solrresponse_child_doc_response.phpt 0000644 00000003326 15234331363 0015562 0 ustar 00 --TEST--
Response - Response with child documents
--FILE--
--EXPECT--
SolrObject Object
(
[response] => SolrObject Object
(
[numFound] => 3
[start] => 0
[docs] => Array
(
[0] => SolrObject Object
(
[id] => parent_1
[_childDocuments_] => Array
(
[0] => SolrObject Object
(
[id] => CHILD_1_1
)
)
)
[1] => SolrObject Object
(
[id] => parent_2
[_childDocuments_] => Array
(
[0] => SolrObject Object
(
[id] => CHILD_2_1
)
[1] => SolrObject Object
(
[id] => CHILD_2_2
)
)
)
[2] => SolrObject Object
(
[id] => not_a_parent_1
)
)
)
)
tests/059.solrinputdocument_getboost.phpt 0000644 00000000323 15234331363 0014624 0 ustar 00 --TEST--
SolrInputDocument::getBoost - Test document fieldnames
--FILE--
setBoost(4);
var_dump($doc->getBoost());
?>
--EXPECT--
float(4) tests/069.solrquery_GroupParameters.phpt 0000644 00000004437 15234331363 0014400 0 ustar 00 --TEST--
SolrQuery - Result Grouping (Group Parameters)
--FILE--
setGroup(true);
$query->addGroupField('category')->addGroupField('featured');
$query->addGroupFunction('ceil(internalScore)');
$query->addGroupQuery('silk')->addGroupQuery('name:june');
$query->setGroupLimit(98);
$query->setGroupOffset(110);
$query->addGroupSortField('count', SolrQuery::ORDER_ASC);
$query->addGroupSortField('name', SolrQuery::ORDER_DESC);
$query->setGroupFormat('simple');
$query->setGroupMain(false);
$query->setGroupNGroups(false);
$query->setGroupTruncate(true);
$query->setGroupFacet(true);
$query->setGroupCachePercent(100);
echo PHP_EOL . "-- Query String --".PHP_EOL;
echo $query.PHP_EOL;
echo PHP_EOL . "-- Integer --".PHP_EOL;
var_dump($query->getGroupOffset(), $query->getGroupLimit(), $query->getGroupCachePercent());
echo PHP_EOL . "-- String --".PHP_EOL;
var_dump($query->getGroupFormat());
echo PHP_EOL . "-- Array --".PHP_EOL;
var_dump($query->getGroupFields());
var_dump($query->getGroupFunctions());
var_dump($query->getGroupQueries());
var_dump($query->getGroupSortFields());
echo PHP_EOL . "-- BOOL --".PHP_EOL;
var_dump($query->getGroup(), $query->getGroupMain(), $query->getGroupNGroups(), $query->getGroupTruncate(), $query->getGroupFacet());
echo PHP_EOL;
try {
$query->setGroupCachePercent(-1);
} catch (SolrIllegalArgumentException $e) {
echo sprintf("Exception Caught %d: %s", $e->getCode(), $e->getMessage()).PHP_EOL;
}
?>
--EXPECTF--
-- Query String --
group=true&group.field=category&group.field=featured&group.func=ceil(internalScore)&group.query=silk&group.query=name:june&group.limit=98&group.offset=110&group.sort=count asc,name desc&group.format=simple&group.main=false&group.ngroups=false&group.truncate=true&group.facet=true&group.cache.percent=100
-- Integer --
int(110)
int(98)
int(100)
-- String --
string(6) "simple"
-- Array --
array(2) {
[0]=>
string(8) "category"
[1]=>
string(8) "featured"
}
array(1) {
[0]=>
string(19) "ceil(internalScore)"
}
array(2) {
[0]=>
string(4) "silk"
[1]=>
string(9) "name:june"
}
array(2) {
[0]=>
string(9) "count asc"
[1]=>
string(9) "name desc"
}
-- BOOL --
bool(true)
bool(false)
bool(false)
bool(true)
bool(true)
Exception Caught 4000: Group cache percent must be between 0 and 100 tests/022.solrdocument_getInputDocument.phpt 0000644 00000000754 15234331363 0015212 0 ustar 00 --TEST--
SolrDocument::getInputDocument() - creating SolrInputDocument from SolrDocument
--FILE--
addField('id', 1123);
$doc->features = "PHP Client Side";
$doc->features = "Fast development cycles";
$doc['cat'] = 'Software';
$doc['cat'] = 'Custom Search';
$doc->cat = 'Information Technology';
$input_doc = $doc->getInputDocument();
var_dump(get_class($input_doc));
?>
--EXPECT--
string(17) "SolrInputDocument"
tests/004.solrclient_query_terms.phpt 0000644 00000002146 15234331363 0013730 0 ustar 00 --TEST--
SolrClient::query() - Terms component
--SKIPIF--
--FILE--
SOLR_SERVER_HOSTNAME,
'login' => SOLR_SERVER_USERNAME,
'password' => SOLR_SERVER_PASSWORD,
'port' => SOLR_SERVER_PORT,
'path' => SOLR_SERVER_PATH,
);
$client = new SolrClient($options);
$query = new SolrQuery('*:*');
$query->setTerms(true);
$query->setTermsField('name');
$query->setTermsLowerBound('a');
$query->setTermsSort(SolrQuery::TERMS_SORT_INDEX);
$query_response = $client->query($query);
echo $query_response->getRequestUrl() .PHP_EOL;
print_r($query_response->getResponse());
?>
--EXPECTF--
http://%s/solr/collection1/terms/?version=2.2&indent=on&wt=xml
SolrObject Object
(
[responseHeader] => SolrObject Object
(
[status] => %d
[QTime] => %d
)
[terms] => SolrObject Object
(
[name] => SolrObject Object
(
[iPod & iPod Mini USB 2.0 Cable] => %d
)
)
)
tests/006.solrclient_system.phpt 0000644 00000001204 15234331363 0012671 0 ustar 00 --TEST--
SolrClient::system() - Retrieve Solr Server/System Info
--SKIPIF--
--FILE--
SOLR_SERVER_HOSTNAME,
'login' => SOLR_SERVER_USERNAME,
'password' => SOLR_SERVER_PASSWORD,
'port' => SOLR_SERVER_PORT,
'path' => SOLR_SERVER_PATH
);
$client = new SolrClient($options);
$genericResponse = $client->system();
var_dump(get_class($genericResponse->getResponse())) . PHP_EOL;
var_dump(get_class($genericResponse->getResponse()->system));
?>
--EXPECTF--
string(10) "SolrObject"
string(10) "SolrObject"
tests/001.solrclient_addDocument_partial.phpt 0000644 00000007116 15234331363 0015313 0 ustar 00 --TEST--
SolrClient::addDocumnt() - Partial Update (integration)
--SKIPIF--
--FILE--
SOLR_SERVER_HOSTNAME,
'login' => SOLR_SERVER_USERNAME,
'password' => SOLR_SERVER_PASSWORD,
'port' => SOLR_SERVER_PORT,
'path' => SOLR_SERVER_PATH
);
$client = new SolrClient($options);
$printDocument = function() use ($client) {
$response = $client->getById('testing_partials');
print_r($response->getResponse());
};
// clean up, before running the test
$client->deleteById('testing_partials');
$client->commit();
$initialDoc = new SolrInputDocument();
$initialDoc->addField('id', 'testing_partials');
$initialDoc->addField('field1', 'existing value');
$initialDoc->addField('field1', 'remove me please');
$initialDoc->addField('field1', '15/01/2007');
$initialDoc->addField('field2_s', 'initialField');
$initialDoc->addField('field3_i', 0);
$initialDoc->addField('field4', 'val1');
$initialDoc->addField('field5_s', 'unmodified field');
$client->addDocument($initialDoc);
$client->commit();
separator('INITIAL');
$printDocument();
$doc = new SolrInputDocument();
$doc->addField('id', 'testing_partials');
$doc->updateField('field1', SolrInputDocument::UPDATE_MODIFIER_ADD, 'newly added value');
$doc->updateField('field1', SolrInputDocument::UPDATE_MODIFIER_REMOVE, 'remove me please');
$doc->updateField('field3_i', SolrInputDocument::UPDATE_MODIFIER_INC, 5);
$doc->updateField('field2_s', SolrInputDocument::UPDATE_MODIFIER_SET, 'updated string');
$doc->updateField('field1', SolrInputDocument::UPDATE_MODIFIER_REMOVEREGEX, '[\d]{2}/[\d]{2}/[\d]{4}');
$response = $client->addDocument($doc);
$client->commit();
separator('RAW REQUEST');
print_r($response->getRawRequest());
$client->commit();
separator('RESULT AFTER UPDATE');
$printDocument();
?>
--EXPECTF--
=================================== INITIAL ====================================
SolrObject Object
(
[doc] => SolrObject Object
(
[id] => testing_partials
[field1] => Array
(
[0] => existing value
[1] => remove me please
[2] => 15/01/2007
)
[field2_s] => initialField
[field3_i] => 0
[field4] => Array
(
[0] => val1
)
[field5_s] => unmodified field
[_version_] => %d
)
)
================================= RAW REQUEST ==================================
testing_partials
newly added value
remove me please
[\d]{2}/[\d]{2}/[\d]{4}
5
updated string
============================= RESULT AFTER UPDATE ==============================
SolrObject Object
(
[doc] => SolrObject Object
(
[id] => testing_partials
[field1] => Array
(
[0] => existing value
[1] => newly added value
)
[field2_s] => updated string
[field3_i] => 5
[field4] => Array
(
[0] => val1
)
[field5_s] => unmodified field
[_version_] => %d
)
)
tests/059.solrinputdocument_sort.phpt 0000644 00000004221 15234331363 0013766 0 ustar 00 --TEST--
SolrInputDocument::sort - Sort Document fields
--FILE--
addField('z1', 'z1val', 1);
$doc->addField('z1', 'z1val2');
$doc->addField('z1', 'z1val3');
$doc->addField('id', 334455, 2);
$doc->addField('cat', 'Software', 3);
$doc->addField('cat', 'Lucene');
printf("---------------- %s --------------------\n", 'unsorted');
print_r($doc->getFieldNames());
printf("---------------- %s --------------------\n", 'field ASC');
$doc->sort(SolrDocument::SORT_FIELD_NAME, SolrDocument::SORT_ASC);
print_r($doc->getFieldNames());
printf("---------------- %s --------------------\n", 'field DESC');
$doc->sort(SolrDocument::SORT_FIELD_NAME, SolrDocument::SORT_DESC);
print_r($doc->getFieldNames());
printf("---------------- %s --------------------\n", 'boost ASC');
$doc->sort(SolrDocument::SORT_FIELD_BOOST_VALUE, SolrDocument::SORT_ASC);
print_r($doc->getFieldNames());
printf("---------------- %s --------------------\n", 'boost DESC');
$doc->sort(SolrDocument::SORT_FIELD_BOOST_VALUE, SolrDocument::SORT_DESC);
print_r($doc->getFieldNames());
printf("---------------- %s --------------------\n", 'value ASC');
$doc->sort(SolrDocument::SORT_FIELD_VALUE_COUNT, SolrDocument::SORT_ASC);
print_r($doc->getFieldNames());
printf("---------------- %s --------------------\n", 'value DESC');
$doc->sort(SolrDocument::SORT_FIELD_VALUE_COUNT, SolrDocument::SORT_DESC);
print_r($doc->getFieldNames());
?>
--EXPECT--
---------------- unsorted --------------------
Array
(
[0] => z1
[1] => id
[2] => cat
)
---------------- field ASC --------------------
Array
(
[0] => cat
[1] => id
[2] => z1
)
---------------- field DESC --------------------
Array
(
[0] => z1
[1] => id
[2] => cat
)
---------------- boost ASC --------------------
Array
(
[0] => z1
[1] => id
[2] => cat
)
---------------- boost DESC --------------------
Array
(
[0] => cat
[1] => id
[2] => z1
)
---------------- value ASC --------------------
Array
(
[0] => id
[1] => cat
[2] => z1
)
---------------- value DESC --------------------
Array
(
[0] => z1
[1] => cat
[2] => id
)
tests/bug_72033.phpt 0000644 00000002105 15234331363 0010117 0 ustar 00 --TEST--
Solr Bug #72033 - Real Time Get requests fails if it wasn't the first request
--SKIPIF--
--FILE--
SOLR_SERVER_HOSTNAME,
'login' => SOLR_SERVER_USERNAME,
'password' => SOLR_SERVER_PASSWORD,
'port' => SOLR_SERVER_PORT,
'path' => SOLR_SERVER_PATH
);
$client = new SolrClient($options);
$doc = new SolrInputDocument();
$doc->addField('id', 'some_id');
$doc->addField('field1', 'val1');
$client->addDocument($doc);
$client->commit();
$response = $client->getById('some_id');
var_dump(isset($response->getArrayResponse()['doc'])).PHP_EOL;
var_dump($response->getResponse()->doc->id) . PHP_EOL;
// pointless request just to fill the request buffer
$client->commit();
$response = $client->getByIds(['GB18030TEST', '6H500F0']);
var_dump($response->getResponse()->response->docs[0]->id, $response->getResponse()->response->docs[1]->id);
?>
--EXPECTF--
bool(true)
string(7) "some_id"
string(11) "GB18030TEST"
string(7) "6H500F0"
tests/046.solrobject_getpropertynames.phpt 0000644 00000000675 15234331363 0014764 0 ustar 00 --TEST--
SolrObject - SolrObject::getPropertyNames()
--FILE--
getPropertyNames());
require_once "bootstrap.inc";
$xml_reponse = file_get_contents(EXAMPLE_RESPONSE_XML_1);
$solrObject = SolrUtils::digestXMLResponse($xml_reponse);
var_dump($solrObject->getPropertyNames());
?>
--EXPECT--
array(0) {
}
array(2) {
[0]=>
string(14) "responseHeader"
[1]=>
string(6) "system"
}
tests/058.solrinputdocument_deletefield.phpt 0000644 00000002062 15234331363 0015245 0 ustar 00 --TEST--
SolrInputDocument::deleteField - Delete a field from SolrInputDocument
--FILE--
addField('id', 334455);
$doc->addField('cat', 'Software');
$doc->addField('cat', 'Lucene');
$doc->addField('deleteme', 'Lucene');
$doc->deleteField('deleteme');
print_r($doc->toArray());
?>
--EXPECT--
Array
(
[document_boost] => 0
[field_count] => 2
[fields] => Array
(
[0] => SolrDocumentField Object
(
[name] => id
[boost] => 0
[values] => Array
(
[0] => 334455
)
)
[1] => SolrDocumentField Object
(
[name] => cat
[boost] => 0
[values] => Array
(
[0] => Software
[1] => Lucene
)
)
)
)
tests/019.solrclient_clone.phpt 0000644 00000001240 15234331363 0012451 0 ustar 00 --TEST--
SolrClient::__clone() - expect exception on clone
--SKIPIF--
--FILE--
SOLR_SERVER_HOSTNAME,
'login' => SOLR_SERVER_USERNAME,
'password' => SOLR_SERVER_PASSWORD,
'port' => SOLR_SERVER_PORT,
'path' => SOLR_SERVER_PATH
);
$client = new SolrClient($options);
try {
$failing = clone $client;
} catch (SolrIllegalOperationException $e) {
echo sprintf("Exception %d: %s", $e->getCode(), $e->getMessage()) . PHP_EOL;
}
?>
--EXPECTF--
Exception 4001: Cloning of SolrClient objects is currently not supported tests/114.solrdismaxquery_trigramfields.phpt 0000644 00000001543 15234331363 0015304 0 ustar 00 --TEST--
SolrDisMaxQuery - TrigramFields and slop (addTrigramPhraseField, removeTrigramPhraseField, setTrigramPhraseFields)
--FILE--
addTrigramPhraseField('cat', 2, 5.1)
->addTrigramPhraseField('feature', 4.5)
;
echo $dismaxQuery.PHP_EOL;
// reverse
$dismaxQuery
->removeTrigramPhraseField('cat');
echo $dismaxQuery.PHP_EOL;
$dismaxQuery->setTrigramPhraseFields('cat~5.1^2 feature^4.5');
echo $dismaxQuery.PHP_EOL;
$dismaxQuery->setTrigramPhraseSlop(2);
echo $dismaxQuery.PHP_EOL;
?>
--EXPECTF--
q=lucene&defType=%s&pf3=cat~5.1^2 feature^4.5
q=lucene&defType=%s&pf3=feature^4.5
Notice: SolrDisMaxQuery::setTrigramPhraseFields(): Parameter pf3 value(s) was overwritten by this call in %s on line %d
q=lucene&defType=%s&pf3=cat~5.1^2 feature^4.5
q=lucene&defType=%s&pf3=cat~5.1^2 feature^4.5&ps3=2
tests/008.solrclient_commit.phpt 0000644 00000001536 15234331363 0012647 0 ustar 00 --TEST--
SolrClient::commit() - Testing commit
--SKIPIF--
--FILE--
SOLR_SERVER_HOSTNAME,
'login' => SOLR_SERVER_USERNAME,
'password' => SOLR_SERVER_PASSWORD,
'port' => SOLR_SERVER_PORT,
'path' => SOLR_SERVER_PATH
);
$client = new SolrClient($options);
$updateResponse = $client->commit();
print $updateResponse->getRawRequest();
$updateResponse = $client->commit(true,false,true);
print $updateResponse->getRawRequest();
$updateResponse = $client->commit(true,false,true);
?>
--EXPECTF--