Я смотрю в клиент обыватель Neo4j (https://github.com/jadell/neo4jphp/wiki)Neo4j PHP создания индексов
Это выглядит очень перспективным и удобным в использовании. Однако я немного запутался в индексах. Я знаю, что в Neo4j вы можете добавить индекс:
CREATE INDEX ON :Person(name)
Как я правильно помню, это будет автоматически индексировать все узлы человека по имени.
В обывателя клиентской библиотеке, в разделе индексов показывает, что вы можете создавать и добавлять индексы к узлам любит это:
$shipIndex = new Everyman\Neo4j\Index\NodeIndex($client, 'ships');
(PS: Что это выше линии делают точно)
$heartOfGold = $client->makeNode()
->setProperty('propulsion', 'infinite improbability drive')
->save();
// Index the ship on one of its properties
$shipIndex->add($heartOfGold, 'propulsion', $heartOfGold->getProperty('propulsion'));
Теперь, мой вопрос. Когда я должен вручную добавлять индексы в свой PHP-код, как пример выше, и когда следует добавить индекс в мою базу данных Neo4j и полагаться на автоматическую индексацию? И в последнем случае я могу также сделать использование индекса поиска в коде следующим образом:
$match = $shipIndex->findOne('captain', 'Zaphod');
?