public function testEnsureFulltextIndex()
{
try {
$this->collection->ensureFulltextIndex(array('fieldname1', 'fieldname2'), array('fieldname1' => 1, 'fieldname2' => 2), 'spanish');
} catch (\MongoWriteConcernException $e) {
$this->assertEquals('127.0.0.1:27017: text search not enabled', $e->getMessage());
return;
}
$indexes = $this->collection->getIndexes();
$index = $indexes[1];
// 'textIndexVersion' differ in different versions of mongodb
$this->assertArrayHasKey('textIndexVersion', $index);
$dbVersion = $this->collection->getDatabase()->getClient()->getDbVersion();
if (version_compare($dbVersion, '2.6', '<')) {
$this->assertEquals(1, $index['textIndexVersion']);
} else {
if (version_compare($dbVersion, '3.2', '<')) {
$this->assertEquals(2, $index['textIndexVersion']);
} else {
$this->assertEquals(3, $index['textIndexVersion']);
}
}
unset($index['textIndexVersion']);
// chech other params
$this->assertEquals($index, array('v' => 1, 'key' => array('_fts' => 'text', '_ftsx' => 1), 'name' => 'fieldname1_text_fieldname2_text', 'ns' => 'test.phpmongo_test_collection', 'default_language' => 'spanish', 'weights' => array('fieldname1' => 1, 'fieldname2' => 2), 'language_override' => 'language'));
}