Поисковые запросы в neo4j: как отсортировать результаты в neo4j в запросе START с внутренним TFIDF / levenshtein или другими алгоритмами?

Я работаю над моделью, используя названия тем Википедии для своих экспериментов в полнотекстовом индексе.

Я настроил и проиндексировал 'theme' (legacy), и выполнил полнотекстовый поиск для: 'united states':

start n=node:topic('name:(united states)') return n

Первые результаты вообще не актуальны:

'List of United States National Historic Landmarks in United States commonwealths and territories, associated states, and foreign states'

[...]

и фактические "Соединенные Штаты" похоронены глубоко вниз по списку.

Таким образом, возникает проблема, заключающаяся в том, что для того, чтобы найти наилучшее совпадение (например, алгоритм Леверштейна, биграмма и т. Д.) По результатам, сначала необходимо извлечь все элементы, соответствующие шаблону.

Это было бы серьезным ограничением, потому что только в этом случае у меня есть 21K строк, ~4 секунды.

Какие алгоритмы использует neo4j для упорядочения результатов полнотекстового поиска (START)? Какое обоснование используется для сортировки результата и как его изменить с помощью шифра? В документе написано, чтобы использовать JAVA API для применения sort() - было бы очень полезно иметь руководство по назначению файлов для изменения, а также узнать, какое обоснование ранжирования используется перед любой настройкой.

РЕДАКТИРОВАНИЕ на основе комментариев ниже - разбиение результатов на страницы возможно как: n= узел: тема ('имя:(Соединенные Штаты)') возвращать n пропустить 10 предел 50;

(пропустите до лимита), но я должен убедиться, что первые результаты значимы до нумерации страниц.

2 ответа

Я не знаю, какие алгоритмы порядка использует Lucene для упорядочения результатов. Тем не менее, о нумерации страниц, если вы измените порядок ограничения и пропустите, как следует, должно быть в порядке. start n=node:topic('name:(united states)') return n skip 10 limit 50 ;

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

Для простого поиска индекса lucene с оценкой вы могли бы быть лучше с этим:

http://neo4j.com/docs/stable/rest-api-indexes.html

Другие вопросы по тегам