2014-11-14 2 views
1

Я работаю на Neo4j базы данных версии 2.0.I имеют следующие требования:индекс Neo4j для полнотекстового поиска

Случай 1. Я хочу, чтобы извлечь все записи, где имя содержит строку, например, если я ищу Neo4j то должны быть возвращены все записи, имеющие имя Данные Neo4j, база данных Neo4j, база Neo4jDatabase и т. д.

Дело 2. Когда я хочу, чтобы запрос на удаление поля был меньше, если набор свойств имеет соответствующее значение, то эти записи должны быть возвращены или это может быть глобальный уровень вместо уровня метки.

Чувствительность к корпусу также является точкой.

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

Я использую пружинные данные-Neo4j в моем приложении, поэтому обеспечиваю некоторую конфигурацию для SDN

ответ

3

аннотировать имени с @Indexed аннотации:

@Indexed(indexName = "whateverIndexName", indexType = IndexType.FULLTEXT) 
private String name; 

Тогда запрос для него следующим образом (например, для метода в SDN хранилище, вы можете использовать аналогичный в другом месте вы используете шифра):

@Query("START n=node:whateverIndexName({query}) return n" 
Set<Topic> findByName(@Param("query") String query); 

Neo4j использует Lucene в качестве внутреннего интерфейса для индексации, так что значение запроса должно быть действительный запрос lucene, например "name: neo4j" или "name: neo4j *".

Существует статья, которая объясняет путаницу вокруг различных индексов Neo4j http://nigelsmall.com/neo4j/index-confusion.

+0

как аннотировать с помощью шифра –

+0

Вы не можете писать в старые индексы в шифре. Единственный способ - настроить автоматическую индексацию. См. Http://jexp.de/blog/2014/03/full-text-indexing-fts-in-neo4j-2-0/ –

1

Я не думаю, что вам нужно использовать эластичный поиск - вы можете использовать устаревшие индексы или индексы lucene для полнотекстового поиска.

Заканчивать блог Майкла Хунгера: jexp.de/blog

THIX поста конкретно: http://jexp.de/blog/2014/03/full-text-indexing-fts-in-neo4j-2-0/

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