Важной концепцией является то, что индексы представляют собой триплеты ключ / значение / объект , где объект является либо узлом, либо отношением, которое вы хотите проиндексировать.
Шаги по созданию и использованиюindex:
Создание экземпляра остального клиента базы данных графа.
from neo4jrestclient.client import GraphDatabase
gdb = GraphDatabase("http://localhost:7474/db/data/")
Создание индекса узла или отношения (Создание индекса узла здесь)
index = gdb.nodes.indexes.create('latin_genre')
Добавитьузлы для индекса
nelly = gdb.nodes.create(name='Nelly Furtado')
shakira = gdb.nodes.create(name='Shakira')
index['latin_genre'][nelly.get('name')] = nelly
index['latin_genre'][shakira.get('name')] = shakira
Извлечение узлов на основе индекса и дальнейшая обработка:
for artist in index['latin_genre']['Shakira']:
print artist.get('name')
Более подробную информацию можно найти в примечаниях в webadmin
Neo4j имеет два типа индексов: индексы узлов и отношений.С помощью индексов узлов вы индексируете и находите узлы, а с индексами отношений вы делаете то же самое для отношений.
У каждого индекса есть поставщик, который является базовой реализацией, обрабатывающей этот индекс.Поставщик по умолчанию - lucene, но вы можете создать свой собственный индекс, если хотите.
Индексы Neo4j принимают триплеты ключ / значение / объект («объект» - это узел или отношение), он будет индексировать ключ/ значение, и связать это с предоставленным объектом.После того как вы проиндексировали набор триплетов ключ / значение / объект, вы можете запросить индекс и получить объекты, которые были проиндексированы с помощью пар ключ / значение, соответствующих вашему запросу.
Например, если у вас есть «Пользователь»узлы в вашей базе данных, и если вы хотите быстро найти их по имени пользователя или электронной почте, вы можете создать индекс узла с именем «Users» и для каждого индекса пользователя имя пользователя и адрес электронной почты.В конфигурации lucene по умолчанию вы можете выполнить поиск в индексе «Users» с помощью запроса: «username: bob ИЛИ email: bob@gmail.com».
Вы можете использовать браузер данных для запроса ваших индексовтаким образом, синтаксис для вышеупомянутого запроса будет "узел: индекс: пользователи: имя пользователя: bob ИЛИ электронная почта: bob@gmail.com".