Apache Lucene добавляет поиск по вектору сходства

Выпущена версия Apache Lucene 9.10 с поддержкой векторного поиска на основе сходства. Среди других улучшений - сортировка индексов, совместимая с блочным объединением, а также ряд улучшений, позволяющих программе использовать преимущества завершенного API внешней памяти JDK при работе на Java 22 или более поздних версиях.

Apache Lucene - это высокопроизводительная библиотека для поисковых систем, написанная полностью на Java. Разработчики описывают ее как подходящую практически для любого приложения, где требуется структурированный поиск, полнотекстовый поиск, фасетный поиск, поиск ближайших соседей по векторам высокой размерности, исправление орфографии или предложения по запросу. Существует также подпроект PyLucene, который обеспечивает привязку к Python для Lucene Core.

До недавнего времени подпроект Solr был частью Lucene, но теперь он перешел в отдельный проект верхнего уровня Apache (TLP). Solr - это популярная платформа корпоративного поиска с открытым исходным кодом, построенная на базе Apache Lucene.

Одной из технологий, лежащих в основе Lucene, является Apache OpenNLP, библиотека машинного обучения с открытым исходным кодом для обработки естественного языка (NLP) для Java.

В коммерческих целях Lucene используется в Amazon Elasticsearch, бесплатном и открытом решении для поиска и аналитики, включающем веб-интерфейс HTTP и документы JSON без схем. Elasticsearch построен на базе Apache Lucene, а Amazon OpenSearch является форком Elasticsearch с открытым исходным кодом.

Основное улучшение в последнем выпуске - добавление поддержки индексирования числовых векторов высокой размерности для выполнения поиска ближайших соседей с использованием алгоритма иерархического графа Hierarchical Navigable Small World. При этом отыскиваются все векторы с оценкой выше 'resultSimilarity' при обходе графа HNSW до тех пор, пока не появятся узлы с более высокой оценкой или пока лучший кандидат не окажется ниже оценки 'traversalSimilarity' на самом низком уровне.

Второе примечательное улучшение - сортировка индексов теперь совместима с блочными соединениями. Это означает, что IndexWriter сохраняет блоки документов, которые индексируются, когда настроена сортировка индексов.

MMapDirectory был улучшен, чтобы использовать преимущества завершенного API внешней памяти JDK при работе на Java 22 (или более поздней версии), а SIMD-векторизация теперь использует преимущества векторного инкубатора JDK на Java 22.

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

Lucene 9.10 доступен уже сейчас.

Apache Lucene добавляет поиск по вектору сходства
Понравилась новость? Тогда не забудь оставить свой комментарий.
А так же, добавь наш сайт в закладки (нажми Ctrl+D), не теряй нас.
28 февраля 2024 г.
32
Теги: Apache

Комментарии

Оставить комментарий:
* отправляя форму, я даю согласие на обработку персональных данных

Читайте еще

Продолжаем добавлять языки программирования для Вас.
Впереди много интересного!

Только свежие новости программирования и технологий каждый день.