Actualización más reciente | Versión estable | Versión potencial | Versión beta | Versión alfa |
---|---|---|---|---|
16 de octubre de 2024 | - | - | - | 1.1.0-alpha06 |
Cómo declarar dependencias
Para agregar una dependencia en AppSearch, debes agregar el repositorio Maven de Google a tu proyecto. Lee el repositorio Maven de Google para obtener más información.
Agrega las dependencias de los artefactos que necesites en el archivo build.gradle
de tu app o módulo:
Groovy
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" }
Kotlin
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") }
Para obtener más información sobre las dependencias, consulta Cómo agregar dependencias de compilación.
Comentarios
Tus comentarios ayudan a mejorar Jetpack. Avísanos si descubres nuevos errores o tienes ideas para mejorar esta biblioteca. Consulta los errores existentes de esta biblioteca antes de crear uno nuevo. Puedes agregar tu voto a un error existente haciendo clic en el botón de la estrella.
Consulta la documentación sobre la Herramienta de seguimiento de errores para obtener más información.
Versión 1.1
Versión 1.1.0-alpha06
16 de octubre de 2024
Lanzamiento de androidx.appsearch:appsearch-*:1.1.0-alpha06
. La versión 1.1.0-alpha06 contiene estas confirmaciones.
Cambios en la API
- Se agregó un nodo que representa la función de consulta
PropertyDefined
. (I1aeaf) - Agrega nodos para representar la búsqueda numérica y la restricción de propiedades. (I963a9)
- Agrega un nodo que represente la función de consulta
GetSearchStringParameter
. (I4f99b). - Agrega un nodo que represente la función de consulta
HasProperty
. (I9c1c5). - Se agregó una interfaz para implementar funciones en AST. (I9d42e)
- Agrega operadores Y y O. (Iaa442).
- Agrega
NegationNode
para representar la negación lógica de las consultas en AST. (Ia855a). - Se agregó la interfaz de nodos a
AppSearch
para definir nodos. (If42fb). - Se agregó una anotación de API experimental para
AppSearch
. (I3e57c).
Correcciones de errores
- Agrega
TextNodes
para los términos de retención. (Iefd02).
Corrección de seguridad
- A partir de este cambio, androidx compila con protobuf 4.28.2 para abordar el CVE-2024-7254. Actualiza tu dependencia en
androidx.appsearch:appsearch-external-protobuf
a la versión más reciente 1.1.0-alpha06 para abordar el riesgo de vulnerabilidad.
Versión 1.1.0-alpha05
4 de septiembre de 2024
Lanzamiento de androidx.appsearch:appsearch-*:1.1.0-alpha05
. La versión 1.1.0-alpha05 contiene estas confirmaciones.
Cambios en la API
- Deja de estar disponible
setEmbeddingSearchEnabled
ygetEmbeddingSearchEnabled
innecesarios. BorrasetListFilterTokenizeFunctionEnabled
ygetListFilterTokenizeFunctionEnabled
. Se borró la función de consulta "tokenize". Se reemplazó por la función de consultagetSearchStringParameter
y la funciónaddSearchStringParameter
. (I09f5a). - Se cambió el nombre de
Alarm#getComputingDevice
porgetOriginatingDevice
. (I63121).
Versión 1.1.0-alpha04
7 de agosto de 2024
Lanzamiento de androidx.appsearch:appsearch-*:1.1.0-alpha04
. La versión 1.1.0-alpha04 contiene estas confirmaciones.
Nuevas funciones
- Se agregó compatibilidad con la nueva implementación de
PlayServicesStorage
, que permite usarAppSearch
en dispositivos más antiguos sin incurrir en el costo significativo del tamaño del APK deLocalStorage
. Esta implementación de almacenamiento funciona almacenando los datos de la app dentro de la app de Servicios de Play. - Compatibilidad con APIs nuevas en dispositivos que ejecutan Android 15.
- Admite la búsqueda en la base de datos mediante la incorporación de vectores, lo que permite la concordancia aproximada. (I2b41b).
- Admite tipos superiores y polimorfismo dentro del modelo de esquema
AppSearch
. (I06118). - Se admite la API de
TakenAction
, que permite a las apps informar cuándo se hace clic o se abandonan los resultados para mejorar la calidad en búsquedas posteriores. (I54091). - Se agregó la nueva anotación
@Document.BuilderProducer
para admitir clases con compiladores en el procesador de anotaciones. (Iec30a). - Admite un control más detallado sobre qué propiedades de un documento anidado se indexan. (Iec30a).
- Compatibilidad con el filtrado de búsquedas en ciertas propiedades de documentos (Ib2659).
- Admite una configuración de visibilidad más detallada permitiendo el uso de O y Y en la configuración de visibilidad. (I0274b).
- Compatibilidad para otorgar visibilidad de datos a todas las apps que pueden ver la existencia de la app propietaria (visibilidad pública) (I992e4)
- Se admite la recuperación de solo los resultados que tienen datos propagados en una propiedad determinada. (I7d94f).
- Compatibilidad para recuperar contactos empresariales en el perfil personal (Idd587).
Cambios en la API
- Agrega los parámetros de anotación
indexableNestedPropertiesList
yinheritIndexableNestedPropertiesFromSuperclass
a la anotaciónDocument.DocumentProperty
de AppSearch para permitir la indexación de rutas de propiedades anidadas específicas. (Iec30a). - Se admite el constructor de compilador para crear instancias de compilador en el procesador de anotaciones
AppSearch
(I265c9). - Se actualizó el procesador de anotaciones
AppSearch
para admitir la configuración de tipos superiores para el polimorfismo (I06118). - Se agregó el método
GetSchemaRequest
para borrar la configuración de visibilidad (I38379). - Se agregó compatibilidad con
addParentType
en AppSearch para el polimorfismo. (Ida14a) - Se agregaron APIs para expresiones de clasificación adicionales (I5d9f4).
- Se agregó la API de
SearchAction
(I54091). - Se agregó un campo de descripción para los tipos
AppSearch
(I84762). - Se incorporaron las APIs de búsqueda de incorporación y clasificación a
AppSearch
(I0f6c3). - Se quitó
getDeletionPropagation
(I21192).
Versión 1.1.0-alpha03
24 de mayo de 2023
Lanzamiento de androidx.appsearch:appsearch-*:1.1.0-alpha03
. La versión 1.1.0-alpha03 contiene estas confirmaciones.
Nuevas funciones
- Compatibilidad con una API de consulta avanzada, una API de puntuación avanzada y una búsqueda numérica. (I02d48).
- Se agregó la API de
LocalStorage.createGlobalSearchSession
para buscar en todas las bases de datos dentro del almacenamiento local de una sola app. (Id3c89) - Se agregó una API para unir documentos por ID (Iaecfa).
- Los pesos de las propiedades de compatibilidad para marcar ciertas propiedades son más importantes cuando se usa
RANKING_STRATEGY_RELEVANCE_SCORING
. (I069b9). - Se agregó Person y
ContactPoint
para consultar el corpus de Person enAppSearch
. (Ia58f9). - Se agregó un nuevo tipo de documento
ImageObject
basado en http://schema.org/ImageObject. (I6a0c0). - Agrega un tokenizador
VERBATIM
que permita agregar propiedades sin queAppSearch
lo interprete. (I47bc0). - Se agregó
RFC822_TOKENIZATION
como un tipo de tokenizador, lo que permite la asignación de token de direcciones de correo electrónico. (I8a390). - Habilita la Búsqueda global en la vista de depuración. (I51fb2).
Cambios en la API
- Se quitaron los métodos que muestran
ListenableFuture
y no tienen el sufijo Async. (I0515f). - Se agregó la capacidad de configurar proyecciones por una clase
Document
. (I94576). - Se agregaron campos de
Thing
aAlarm
,AlarmInstance
,Timer
,Stopwatch
,StopwatchLap
,ContactPoint
yPerson
(Id876c).
Correcciones de errores
- Es totalmente compatible con las funciones de Android 13 en appsearch-platform-storage (Ia8e61).
- Se corrigieron problemas con la anulación de nombres de esquemas y campos privados cuando se usa la herencia.
Versión 1.1.0-alpha02
24 de agosto de 2022
Se lanzó androidx.appsearch:appsearch-*:1.1.0-alpha02
. La versión 1.1.0-alpha02 contiene estas confirmaciones.
Nuevas funciones
- Se aceleró el proceso de Optimize, para lo que se compactó el índice en lugar de volver a compilarlo desde cero.
- Se cambió la etiqueta de registro nativo de "icing" a "AppSearchIcing", y se registran mensajes INFO de forma predeterminada.
Cambios en la API
- Agregamos un objeto
PropertyPath
nuevo para trabajar con rutas de acceso y nuevos métodosaddProjection
para aceptarPropertyPath
. (I45588). - Se agregó
builtin:Thing
a tipos integradosAppSearch
(I55427). - Se impiden antes los nombres de propiedades vacíos en
GenericDocument
. Anteriormente, se impedían en el momento de la indexación, pero ahora se impiden a la hora deGenericDocument.Builder.build()
(I9e780).
Correcciones de errores
- Se quitó el formato de string innecesario para mejorar el rendimiento de la puntuación de RELEVANCE.
- Se optimizó la paginación cuando se detectan documentos ilegibles o borrados.
- Se implementó la recolección de elementos no utilizados para consultas abandonadas.
- Se corrigió la compatibilidad de indexación anidada para documentos. Anteriormente, se ignoraba indexNestedProperties (Iae9a6).
Contribución externa
- Shea Smith: Se corrigió la compatibilidad de indexación anidada para documentos (Iae9a6).
Versión 1.1.0-alpha01
15 de junio de 2022
Se lanzó androidx.appsearch:appsearch-*:1.1.0-alpha01
. La versión 1.1.0-alpha01 se desarrolló en una rama privada previa al lanzamiento y no tiene confirmaciones públicas.
Cambios en la API
- Se cambió el nombre de todos los métodos que muestran
ListenableFuture
para que tengan el sufijo Async. Por ejemplo, se cambió el nombre degetSchema
agetSchemaAsync
. Las versiones anteriores dejaron de estar disponibles y se quitarán en una versión futura.
Nuevas funciones
- Primer lanzamiento de appsearch-builtin-types. Este proyecto contiene algunos tipos integrados basados en schema.org que a los clientes les puede convenir usar en lugar de definir sus propios tipos para objetos comunes. Se agregarán más tipos en versiones futuras
- Capacidad de usar
ShortcutAdapter
para convertir un documentoAppSearch
enShortcutInfoCompat
. De esta manera, los clientes pueden usar la biblioteca core-google-shortcuts para compartir documentosAppSearch
con Google - Capacidad de usar la herencia con clases
@Document
. Los campos no se pueden reemplazar ni modificar, pero se pueden agregar campos nuevos sa través de la extensión una clase con una anotación@Document
. - Nueva API de Observer que permite a los clientes registrarse para recibir notificaciones cuando los tipos a los que tienen acceso hayan cambiado o cuando se agreguen, modifiquen o quiten documentos de esos tipos. IMPORTANTE: La implementación actual solo envía notificaciones cuando se está ejecutando la app. Actualmente, no hay forma de inspeccionar los cambios que se produjeron mientras la app estaba detenida. Por lo tanto, no debes confiar en que esta API complete la implementación
- La API de analizador de propiedades, que te permite controlar e inspeccionar por completo las rutas de acceso de propiedades que muestra
MatchInfo#getPropertyPath
- Las APIs globales
getById
ygetSchema
para recuperar documentos y esquemas de otras apps que te otorgaron visibilidad - Capacidad de recuperar la información de visibilidad en
getSchema
para los datos a los que tienes acceso - Capacidad de otorgar visibilidad a las apps que tienen un determinado permiso de Android (restringido a un conjunto limitado de permisos incluidos en la lista de entidades permitidas)
- Se admiten métodos get de estilo
isFoo()
para campos booleanos en el procesador de anotaciones, además del estilohasFoo()
admitido previamente - Se admite la compatibilidad con funciones nuevas protegidas por
@RequiresFeature
. Se utilizaAppSearchSession#getFeatures
para determinar qué admite el backend actual - Se quitó el límite de token de ~13,000 en documentos individuales
- Se permiten las coincidencias con caracteres alfanuméricos que no sean de ASCII+, como emojis
Correcciones de errores
- Se corrigió el error que ocasionaba problemas con
SetSchema
cuando se anulaba un tipo incompatible anidado. - Se realizaron correcciones para admitir por completo clases con anotación
@AutoValue
que se usen como clases@Document
de AppSearch. - Se corrigieron algunas fallas relacionadas con las listas repetidas de clases de documentos y otros problemas.
- Se corrigió el error que bloqueaba la búsqueda de prefijos en ciertas circunstancias.
- Se corrigió un error menor en
GetStorageInfo
que mostraba valores incorrectos cuando se encontraban fallas de IO. - Se solucionaron problemas de
BUSADDERR
cuando se leía un documento. - Se corrigió la corrupción de Logcat causada por la impresión de una huella digital sin formato.
- Se corrigió la NPE causada por fallas de IO.
- Se corrigieron fugas de memoria en
GetSchemaType
,Get
,Delete
,DeleteByNamespace
yDeleteBySchemaType
.
Versión 1.0.0
Versión 1.0.0-alpha04
3 de noviembre de 2021
Lanzamiento de androidx.appsearch:appsearch-*:1.0.0-alpha04
. La versión 1.0.0-alpha04 contiene estas confirmaciones.
Nuevas funciones
- La dependencia de Guava ListenableFuture se incorporó automáticamente como una dependencia de API.
Cambios en la API
- Se agregó SearchResult#getSubmatchRange() y SearchResult#getSubmatch() para proporcionar más información sobre cada coincidencia (I2fef6).
- Se agregó documentación clarificatoria sobre la generación de huellas digitales de PackageIdentifier para compartir datos por packagename+certificate
Correcciones de errores
- Se corrigió la falla si el usuario intenta recuperar páginas de resultados después del final del conjunto de resultados.
- Se solucionó el problema con todos los espacios de nombres que se consultan si solo se proporcionaron espacios de nombres no válidos como filtros de consulta.
- Se solucionó el problema que quitaba todos los espacios de nombres si solo se proporcionaban espacios de nombres no válidos como filtros para borrar consultas.
- Se solucionó el problema que causaba que los datos de documentos dejaran de indexarse después de cierto punto en documentos muy grandes.
- Se solucionó el problema por el que la asignación de token descartaba segmentos con caracteres numéricos que no eran de ASCII.
- Se agregó una verificación en caso de intentos consecutivos de inicialización fallidos para ayudar a quitar el posible estado incorrecto que impide la inicialización exitosa.
Versión 1.0.0-alpha03
21 de julio de 2021
Lanzamiento de androidx.appsearch:appsearch-*:1.0.0-alpha03
. La versión 1.0.0-alpha03 contiene estas confirmaciones.
Nuevas funciones
- Lanzamiento del backend de almacenamiento de la plataforma para que los clientes puedan usar la API de AppSearch con el nuevo servicio
android.app.appsearch.AppSearchManager
, que se lanzará en Android S. Para obtener más detalles, visita la guía para desarrolladores de AppSearch. - Compatibilidad del procesador de anotaciones con AutoValue
- Descarte del límite de tamaño máximo de la propiedad de string única
- Nuevo formato de almacenamiento para reducir la latencia de inicialización
- Migración interna de datos desde el formato de almacenamiento anterior hacia el nuevo que se hace una sola vez
Correcciones de errores
- Se aplica correctamente el límite máximo de documentos al insertar documentos nuevos.
- Se corrigió una falla durante la creación de AppSearchSession.
- Se corrigieron errores en SetSchema que no detectaban algunos casos de incompatibilidad con versiones anteriores y con índices.
Versión 1.0.0-alpha02
30 de junio de 2021
Lanzamiento de androidx.appsearch:appsearch:1.0.0-alpha02
, androidx.appsearch:appsearch-compiler:1.0.0-alpha02
y androidx.appsearch:appsearch-local-storage:1.0.0-alpha02
. La versión 1.0.0-alpha02 contiene estas confirmaciones.
Nuevas funciones
- Total compatibilidad con los idiomas chino, japonés, coreano y tailandés
- Reducción del tamaño de
androidx.appsearch:appsearch-local-storage
- Eliminación del límite de tamaño máximo de las propiedades repetidas
- Permiso para volver a utilizar las clases de compiladores
- Mejoras de
toString()
de ciertos objetos para facilitar la depuración - Mejoras de la documentación de Javadoc
Cambios en la API
- Se cambió el nombre de
SearchResult#getMatches
porSearchResult#getMatchInfos
- Se cambió el nombre de
@Document.Int64Property
por@Document.LongProperty
Correcciones de errores
- Mejoras y correcciones del cálculo de los fragmentos de resultados
- Corrección de errores en la inicialización de AppSearchSession
Versión 1.0.0-alpha01
5 de mayo de 2021
Lanzamiento de androidx.appsearch:appsearch:1.0.0-alpha01
, androidx.appsearch:appsearch-compiler:1.0.0-alpha01
y androidx.appsearch:appsearch-local-storage:1.0.0-alpha01
. La versión 1.0.0-alpha01 contiene estas confirmaciones.
Nuevas funciones
AppSearch es una biblioteca de búsqueda destinada a administrar datos estructurados almacenados de forma local con APIs que indexan y recuperan datos a través de la búsqueda en el texto completo. Usa esta biblioteca para ofrecer a tus usuarios búsquedas personalizadas en la app. Esta versión inicial es 1.0.0-alpha01
.