Поиск приложений
Последнее обновление | Стабильный выпуск | Кандидат на выпуск | Бета-версия | Альфа-релиз |
---|---|---|---|---|
16 октября 2024 г. | - | - | - | 1.1.0-альфа06 |
Объявление зависимостей
Чтобы добавить зависимость от AppSearch, вам необходимо добавить в свой проект репозиторий Google Maven. Для получения дополнительной информации прочтите репозиторий Google Maven .
Добавьте зависимости для нужных вам артефактов в файл build.gradle
для вашего приложения или модуля:
классный
dependencies { def appsearch_version = "1.1.0-alpha05" implementation "androidx.appsearch:appsearch:$appsearch_version" // Use kapt instead of annotationProcessor if writing Kotlin classes annotationProcessor "androidx.appsearch:appsearch-compiler:$appsearch_version" implementation "androidx.appsearch:appsearch-local-storage:$appsearch_version" // PlatformStorage is compatible with Android 12+ devices, and offers additional features // to LocalStorage. implementation "androidx.appsearch:appsearch-platform-storage:$appsearch_version" }
Котлин
dependencies { val appsearch_version = "1.1.0-alpha05" implementation("androidx.appsearch:appsearch:$appsearch_version") // Use annotationProcessor instead of kapt if writing Java classes kapt("androidx.appsearch:appsearch-compiler:$appsearch_version") implementation("androidx.appsearch:appsearch-local-storage:$appsearch_version") // PlatformStorage is compatible with Android 12+ devices, and offers additional features // to LocalStorage. implementation("androidx.appsearch:appsearch-platform-storage:$appsearch_version") }
Дополнительные сведения о зависимостях см. в разделе Добавление зависимостей сборки .
Обратная связь
Ваши отзывы помогают сделать Jetpack лучше. Дайте нам знать, если вы обнаружите новые проблемы или у вас есть идеи по улучшению этой библиотеки. Пожалуйста, ознакомьтесь с существующими проблемами в этой библиотеке, прежде чем создавать новую. Вы можете добавить свой голос к существующей проблеме, нажав кнопку со звездочкой.
Дополнительную информацию см . в документации по системе отслеживания проблем .
Версия 1.1
Версия 1.1.0-альфа06
16 октября 2024 г.
Выпущен androidx.appsearch:appsearch-*:1.1.0-alpha06
. Версия 1.1.0-alpha06 содержит эти коммиты .
Изменения API
- Добавлен узел, представляющий функцию запроса
PropertyDefined
. ( I1aeaf ) - Добавьте узлы для представления числового поиска и ограничения свойств. ( I963a9 )
- Добавьте узел, представляющий функцию запроса
GetSearchStringParameter
. ( I4f99b ) - Добавьте узел, представляющий функцию запроса
HasProperty
. ( I9c1c5 ) - Добавлен интерфейс реализации функций в AST. ( I9d42e )
- Добавьте операторы И и ИЛИ. ( Iaa442 )
- Добавьте
NegationNode
для представления логического отрицания запросов в AST. ( Я855а ) - Добавьте интерфейс Node в
AppSearch
для определения узлов. ( Если42фб ) - Добавляет аннотацию экспериментального API для
AppSearch
. ( I3e57c )
Исправления ошибок
- Добавьте
TextNodes
для хранения условий. ( Iefd02 )
Исправление безопасности
- После этого изменения androidx компилируется с protobuf 4.28.2 для устранения CVE-2024-7254 . Обновите свою зависимость от
androidx.appsearch:appsearch-external-protobuf
до последней версии 1.1.0-alpha06, чтобы устранить риск уязвимости.
Версия 1.1.0-альфа05
4 сентября 2024 г.
Выпущен androidx.appsearch:appsearch-*:1.1.0-alpha05
. Версия 1.1.0-alpha05 содержит эти коммиты .
Изменения API
- Устаревшие ненужные
setEmbeddingSearchEnabled
иgetEmbeddingSearchEnabled
. УдаляетsetListFilterTokenizeFunctionEnabled
иgetListFilterTokenizeFunctionEnabled
. Удалена функция запроса «токенизировать». Заменено функцией запросаgetSearchStringParameter
и функциейaddSearchStringParameter
. ( I09f5a ) - Переименуйте
Alarm#getComputingDevice
вgetOriginatingDevice
. ( I63121 )
Версия 1.1.0-альфа04
7 августа 2024 г.
Выпущен androidx.appsearch:appsearch-*:1.1.0-alpha04
. Версия 1.1.0-alpha04 содержит эти коммиты .
Новые возможности
- Поддержка новой реализации
PlayServicesStorage
, которая позволяет использоватьAppSearch
на старых устройствах без значительных затрат на размер APKLocalStorage
. Эта реализация хранилища работает путем хранения данных приложения в приложении Play Services. - Поддержка новых API на устройствах под управлением Android 15.
- Поддержка поиска в базе данных путем внедрения векторов, обеспечивающего нечеткое сопоставление. ( I2b41b )
- Поддержка родительских типов и полиморфизма в модели схемы
AppSearch
. ( I06118 ) - Поддержите API
TakenAction
, который позволяет приложениям сообщать, когда результаты были нажаты или отменены, для повышения качества при последующих поисках. ( I54091 ) - Поддержите классы с помощью построителей в обработчике аннотаций, представив новую аннотацию
@Document.BuilderProducer
. ( МЭК30а ) - Поддержка более детального контроля над тем, какие свойства вложенного документа индексируются. ( МЭК30а )
- Поддержка фильтрации поиска по определенным свойствам документа. ( Ib2659 )
- Поддержите более детальные настройки видимости, разрешив ИЛИ и И для настроек видимости. ( I0274b )
- Поддержка предоставления видимости данных всем приложениям, которые могут видеть существование приложения-владельца (публичная видимость). ( I992e4 )
- Поддержка получения только результатов, данные которых заполнены в определенном свойстве. ( I7d94f )
- Поддержка получения контактов предприятия в личном профиле. ( Idd587 )
Изменения API
- Добавьте параметры аннотации
indexableNestedPropertiesList
иinheritIndexableNestedPropertiesFromSuperclass
в аннотациюDocument.DocumentProperty
AppSearch, чтобы разрешить индексирование определенных путей вложенных свойств. ( МЭК30а ) - Поддержка конструктора построителя для создания экземпляров построителя в обработчике аннотаций
AppSearch
( I265c9 ). - Обновите обработчик аннотаций
AppSearch
для поддержки установки родительских типов для полиморфизма ( I06118 ). - Добавляет метод
GetSchemaRequest
для очистки настроек видимости ( I38379 ). - Поддержка
addParentType
в AppSearch для полиморфизма ( Ida14a ) - Добавьте API для дополнительных выражений ранжирования ( I5d9f4 ).
- Добавить API
SearchAction
( I54091 ) - Добавляет поле описания для типов
AppSearch
( I84762 ). - Встроенное встраивание поискового запроса и API ранжирования в
AppSearch
( I0f6c3 ) - Удаляет
getDeletionPropagation
( I21192 )
Версия 1.1.0-альфа03
24 мая 2023 г.
Выпущен androidx.appsearch:appsearch-*:1.1.0-alpha03
. Версия 1.1.0-alpha03 содержит эти коммиты.
Новые возможности
- Поддержка API расширенных запросов, API расширенной оценки и числового поиска. ( I02d48 )
- Добавляет API
LocalStorage.createGlobalSearchSession
для поиска по всем базам данных в локальном хранилище одного приложения. ( Id3c89 ) - Добавлен API для объединения документов по идентификатору ( Iaecfa ).
- Поддержка весов свойств для обозначения определенных свойств более важна при использовании
RANKING_STRATEGY_RELEVANCE_SCORING
. ( I069b9 ) - Добавьте Person и
ContactPoint
для запроса корпуса Person вAppSearch
. ( Ia58f9 ) - Добавлен новый тип документа
ImageObject
, созданный по образцу http://schema.org/ImageObject. ( I6a0c0 ) - Добавьте токенизатор
VERBATIM
, который позволяет добавлять свойства без интерпретацииAppSearch
. ( I47bc0 ) - Добавлен
RFC822_TOKENIZATION
в качестве типа токенизатора, позволяющего токенизировать адреса электронной почты. ( I8a390 ) - Включите глобальный поиск в представлении отладки. ( I51fb2 )
Изменения API
- Удалены методы, возвращающие
ListenableFuture
и не имеющие суффикса Async. ( I0515f ) - Добавляет возможность настройки проекций по классу
Document
. ( I94576 ) - Добавьте поля из
Thing
вAlarm
,AlarmInstance
,Timer
,Stopwatch
,StopwatchLap
,ContactPoint
иPerson
( Id876c ).
Исправления ошибок
- Полная поддержка функций Android 13 в хранилище приложений ( Ia8e61 ).
- Исправлены проблемы с переопределением имен схем и частных полей при использовании наследования.
Версия 1.1.0-альфа02
24 августа 2022 г.
Выпущен androidx.appsearch:appsearch-*:1.1.0-alpha02
. Версия 1.1.0-alpha02 содержит эти коммиты.
Новые возможности
- Ускорен процесс оптимизации за счет сжатия индекса вместо восстановления индекса с нуля.
- Изменен собственный тег журнала с «icing» на «AppSearchIcing», по умолчанию регистрируются сообщения INFO.
Изменения API
- Добавляет новый объект
PropertyPath
для работы с путями и новые методыaddProjection
для приемаPropertyPath
. ( I45588 ) - Добавлен
builtin:Thing
во встроенные типыAppSearch
( I55427 ). - Предотвращайте пустые имена свойств в
GenericDocument
раньше — раньше они запрещались во время индексации, теперь они запрещаются во времяGenericDocument.Builder.build()
( I9e780 ).
Исправления ошибок
- Удалено ненужное форматирование строк для повышения эффективности оценки релевантности.
- Более эффективная нумерация страниц при обнаружении нечитаемых или удаленных документов.
- Реализован сбор мусора для заброшенных запросов.
- Исправлена поддержка вложенной индексации для документов. Ранее indexNestedProperties игнорировался. ( Iae9a6 )
Внешний вклад
- Ши Смит: исправлена поддержка вложенной индексации для документов. ( Iae9a6 )
Версия 1.1.0-альфа01
15 июня 2022 г.
Выпущен androidx.appsearch:appsearch-*:1.1.0-alpha01
. Версия 1.1.0-alpha01 была разработана в частной предварительной версии и не содержит публичных коммитов.
Изменения API
- Все методы, возвращающие
ListenableFuture
были переименованы и получили суффикс Async. Например,getSchema
была переименована вgetSchemaAsync
. Предыдущие версии устарели и будут удалены в будущем выпуске.
Новые возможности
- Первый выпуск встроенных типов appsearch. Этот проект содержит несколько встроенных типов на основе Schema.org, которые клиентам может быть удобно использовать вместо определения собственных типов для общих объектов. Дополнительные типы будут добавлены в будущих выпусках.
- Возможность использовать
ShortcutAdapter
для преобразования документаAppSearch
вShortcutInfoCompat
. Это дает клиентам возможность делиться документамиAppSearch
с Google, используя библиотеку core-google-shortcuts. - Возможность использовать наследование с классами
@Document
. Поля нельзя заменить или изменить, но можно добавить новые поля, расширив класс, помеченный@Document
. - Новый API Observer, который позволяет клиентам регистрироваться для получения уведомлений при изменении типов, к которым у них есть доступ, или при добавлении, изменении или удалении документов этих типов. ВАЖНО. Текущая реализация доставляет уведомления только тогда, когда ваше приложение работает. В настоящее время невозможно проверить изменения, произошедшие во время остановки вашего приложения. Соответственно, вам не следует полагаться на этот API для обеспечения полноты.
- API анализатора свойств, который позволяет полностью обрабатывать и проверять пути к свойствам, возвращаемые
MatchInfo#getPropertyPath
. - Глобальный API
getById
и глобальныйgetSchema
для получения документов и схем из других приложений, которые предоставили вам видимость. - Возможность получения информации о видимости в
getSchema
для данных, к которым у вас есть доступ. - Возможность предоставить видимость приложениям, имеющим определенное разрешение Android (ограничено узким набором разрешений из белого списка).
- Поддержка методов получения в стиле
isFoo()
для логических полей в процессоре аннотаций в дополнение к предыдущему поддерживаемому стилюhasFoo()
- Поддержка новых функций, защищенных
@RequiresFeature
. ИспользуйтеAppSearchSession#getFeatures
, чтобы определить, что поддерживает текущая серверная часть. - Удалите ограничение в ~13 тыс. токенов для отдельных документов.
- Разрешить сопоставление не-ascii+небуквенно-цифровых символов, например смайликов.
Исправления ошибок
- Исправлена ошибка, приводившая к сбою
SetSchema
при переопределении вложенного несовместимого типа. - Исправления для полной поддержки классов с аннотациями
@AutoValue
используемых в качестве классов AppSearch@Document
- Исправлены некоторые сбои, связанные с повторяющимися списками классов документов и другими проблемами.
- Исправлена ошибка, приводившая к сбою поиска префиксов при определенных обстоятельствах.
- Исправлена незначительная ошибка в
GetStorageInfo
, которая возвращала неправильные значения при возникновении сбоев ввода-вывода. - Исправить проблемы
BUSADDERR
при чтении документа. - Исправление повреждения logcat, вызванного печатью неформатированного отпечатка пальца.
- Исправление NPE, вызванное сбоями ввода-вывода.
- Исправлена утечка памяти в
GetSchemaType
,Get
,Delete
,DeleteByNamespace
иDeleteBySchemaType
Версия 1.0.0
Версия 1.0.0-альфа04
3 ноября 2021 г.
Выпущен androidx.appsearch:appsearch-*:1.0.0-alpha04
. Версия 1.0.0-alpha04 содержит эти коммиты.
Новые возможности
- Зависимость Guava ListenableFuture автоматически добавляется как зависимость API
Изменения API
- Добавьте SearchResult#getSubmatchRange() и SearchResult#getSubmatch(), чтобы предоставить дополнительную информацию о каждом совпадении. ( I2fef6 )
- Уточнить документацию о том, как генерировать отпечатки PackageIdentifier для обмена данными по имени пакета+сертификату.
Исправления ошибок
- Исправлен сбой, если пользователь пытается получить страницы результатов после окончания набора результатов.
- Исправлена проблема со всеми запрашиваемыми пространствами имен, если в качестве фильтров запроса были указаны только недопустимые пространства имен.
- Исправлена проблема с удалением всех пространств имен, если в качестве фильтров удаления по запросу были указаны только недопустимые пространства имен.
- Исправлена проблема, из-за которой данные документа переставали индексироваться после определенного момента для очень больших документов.
- Исправлена проблема, из-за которой при токенизации удалялись сегменты с цифровыми символами, отличными от Ascii.
- Добавьте проверку последовательных неудачных попыток инициализации, чтобы помочь выйти из потенциально плохого состояния, которое препятствует успешной инициализации.
Версия 1.0.0-альфа03
21 июля 2021 г.
Выпущен androidx.appsearch:appsearch-*:1.0.0-alpha03
. Версия 1.0.0-alpha03 содержит эти коммиты.
Новые возможности
- Выпуск серверной части хранилища платформы, позволяющей клиентам использовать AppSearch API с новым сервисом
android.app.appsearch.AppSearchManager
, запускаемым в Android S. Для получения более подробной информации посетите AppSearch Developer Guide. - Поддержка процессора аннотаций для AutoValue
- Удаление ограничения максимального размера однострочного свойства.
- Новый формат хранения для уменьшения задержки инициализации.
- Единовременная внутренняя миграция данных из старого формата хранения в новый формат хранения.
Исправления ошибок
- Правильно обеспечивает максимальный лимит документов при вставке новых документов.
- Исправлен сбой при создании AppSearchSession.
- Исправлены ошибки в SetSchema, из-за которых не обнаруживались некоторые случаи обратной несовместимости и несовместимости индексов.
Версия 1.0.0-альфа02
30 июня 2021 г.
androidx.appsearch:appsearch:1.0.0-alpha02
, androidx.appsearch:appsearch-compiler:1.0.0-alpha02
и androidx.appsearch:appsearch-local-storage:1.0.0-alpha02
выпущены. Версия 1.0.0-alpha02 содержит эти коммиты.
Новые возможности
- Полная поддержка китайского/японского/корейского/тайского языков.
- Уменьшен размер
androidx.appsearch:appsearch-local-storage
- Удаление ограничения максимального размера повторяющихся свойств.
- Разрешить повторное использование классов компоновщика
- Улучшения в
toString()
некоторых объектов для упрощения отладки. - Улучшения документации Javadoc
Изменения API
-
SearchResult#getMatches
переименован вSearchResult#getMatchInfos
-
@Document.Int64Property
переименован в@Document.LongProperty
Исправления ошибок
- Улучшения и исправления в вычислении фрагментов результатов.
- Исправления ошибок при инициализации AppSearchSession.
Версия 1.0.0-альфа01
5 мая 2021 г.
androidx.appsearch:appsearch:1.0.0-alpha01
, androidx.appsearch:appsearch-compiler:1.0.0-alpha01
и androidx.appsearch:appsearch-local-storage:1.0.0-alpha01
выпущены. Версия 1.0.0-alpha01 содержит эти коммиты.
Новые возможности
AppSearch — это библиотека поиска для управления локально хранящимися структурированными данными с API-интерфейсами для индексации данных и получения данных с помощью полнотекстового поиска. Используйте его, чтобы создать собственные возможности поиска в приложении для ваших пользователей. Этот первоначальный выпуск — 1.0.0-alpha01
.