2015-02-18 3 views
0
индекса

Мы, в нашем домене для полнотекстового поискали Наследие Индексация также предоставляет возможность схема индексации в Neo4j

@Indexed(indexName = "peopleSearch", indexType=IndexType.FULLTEXT) 

String username 

и указательной схемы для пароля

@Indexed 
    String password 

В нашей базе данных у нас есть около 155 узлов из UserDomain

теперь, когда мы бежим шифра в Neo4j-оболочки

PROFILE MATCH (n:`UserDomain`) where n.username = "lTunh" RETURN n ; 

затем DB хитов 310

Но если мы запустим команду

PROFILE MATCH (n:`UserDomain`) where n.password = "4lh7b" RETURN n 

затем DB хитов 2

Примечание: PROFILE start item=node:peopleSearch("username : *r") RETURN item LIMIT 25; Db хиты 8, т.е. Lucene Query отлично работает на пользователя только 7 Удаляет БД.

Мы используем Spring Data Neo4j и запустить запрос с использованием Repository домена

Так Вопрос как достичь схемы, а также полнотекстового индексирования по имени пользователя

ответ

1

Это не имеет смысла иметь оба. Поскольку один из индексов уже вернет небольшое количество узлов, вы просто проверите другое свойство на узлах.

И я бы пошел с индексом на имя пользователя, а не на пароль, если честно.

+0

Да, мы использовали пароль только для примера. В нашем случае мы используем полнотекстовый индекс для имени пользователя в поле поиска. – abhaygarg12493

+0

У нас есть два поля Роль и Навык в нашем домене. Я сделал полнотекстовое индексирование роли, так как нам нужно это поле в текстовом поиске в нашем приложении согласно требованию. И я сделал индексацию схемы на навыках. Теперь у меня есть поиск критериев, который основан на обоих полях, разделенных условием ИЛИ в нашем критерии поиска. как мы можем достичь этого, используя преимущества индексации lucene и schema. Поддерживает ли neo4j оба типа индексирования на одном поле или нет? Или запрос cypher поддерживает оба типа индекса, используемые во время выполнения запроса, если он связан с условием ИЛИ? – abhaygarg12493

Смежные вопросы