2015-02-19 3 views
0

Я создал полнотекстовый индекс «peopleSearch» в свойстве «description» свойства «Пользователь» и «skillname» отношения «Has_Skill». Отношения имеют некоторые дополнительные свойства, основанные на моем требовании.Neo4j запрос lucene на свойства отношений и узлов

Я хочу запросить мою базу данных neo4j и получить все объекты neo4j (как пользователя, так и отношения), которые содержат либо текст описания, либо «grails», либо имеющий имя «grails».

ответ

2

Ручные индексы в Neo4j (и ваши полнотекстовые индексы такого типа) предназначены либо для узлов, либо для отношений. У вас не может быть комбинированного индекса для обоих.

Если бы это было возможно, это не имело бы смысла, поскольку вы используете индексы в Neo4j для поиска начальных точек для обходов. Если результаты запроса индекса будут комбо узлов и отношений, нет возможности построить обход этой смешанной структуры.

Однако в Cypher, чтобы можно объединить два индекса запросов в один с помощью UNION:

START users=node:users('name:ABC*') RETURN users as person 
UNION 
START friends=node:friends('friendName:DEF*') RETURN friends as person 
Смежные вопросы