Descripción general
El análisis impacta directamente en el rendimiento de búsqueda. Dado que la semántica de una frase puede variar según el escenario de negocio, los distintos contextos requieren comportamientos de análisis diferentes. OpenSearch proporciona analizadores de propósito general y específicos por dominio, como un analizador para comercio electrónico.
OpenSearch le permite crear un analizador personalizado mediante la combinación de un analizador integrado con entradas de intervención. Posteriormente, puede aplicar este analizador personalizado a los campos de índice de su aplicación para controlar los resultados del análisis tanto durante la indexación como en el momento de la consulta.
Entradas de intervención
Es posible controlar el comportamiento de las entradas de intervención al habilitar o deshabilitar el análisis secundario.
Cuando el análisis secundario está habilitado, el analizador segmenta aún más cada resultado de entrada de intervención. Si se deshabilita, el resultado de la intervención se trata como una salida final y no se segmenta adicionalmente.
Por ejemplo, si la entrada es 'Open Search' y el analizador es 'General Chinese', el resultado al habilitar el análisis secundario es:
"Open Search" se segmenta en dos entradas: Open y Search.
Con el análisis secundario deshabilitado, el resultado es:
'OpenSearch' se trata como una única entrada, OpenSearch, sin segmentación adicional.
Notas de uso
Un analizador personalizado incluye todas las entradas de su analizador base, además de sus entradas de intervención personalizadas. Las entradas de intervención anulan las entradas predeterminadas del analizador base.
Puede crear un máximo de 20 analizadores personalizados.
Cada analizador personalizado puede contener un máximo de 1,000 entradas de intervención.
La consulta de una entrada no puede exceder los 10 caracteres (chinos o ingleses) y su valor no puede superar los 32 caracteres.
Las entradas no pueden contener letras mayúsculas (A-Z), caracteres de ancho completo (\uff01 a \uff5e) ni signos de puntuación chinos.
-
Para las entradas de intervención de segmentación semántica, la consulta y el valor deben ser idénticos después de eliminar los espacios del valor. Por ejemplo:
invalidkey=>wrong key validkey=>valid keyLa primera entrada no es válida porque su consulta
invalidkeyy su valorwrong key(que se convierte enwrongkeytras eliminar los espacios) no son idénticos. -
Al agregar una entrada de intervención, utilice espacios para separar varios términos en el resultado del análisis. No use comas. Las comas se tratan como parte del contenido del término, no como delimitadores, lo que provoca un error en la validación. Por ejemplo:
applehuawei=>apple huawei (Correct, separated by a space) applehuawei=>apple,huawei (Incorrect, the comma is treated as a content character)En la segunda entrada, la coma se interpreta como un carácter literal, por lo que el valor resulta en
apple,huaweitras eliminar los espacios; esto no coincide con la consultaapplehuawei. La validación falla. -
La consulta de una entrada no puede contener espacios. Por ejemplo:
invalid key=>an invalid key validkey=>a valid keyLa primera entrada no es válida porque su consulta,
invalid key, contiene un espacio. -
La consulta de una entrada no puede ser una subcadena del valor de otra entrada dentro del mismo diccionario de intervención. Por ejemplo:
customanalyzer=>custom analyzer analyzer tokenLa segunda entrada, con la consulta
analyzer, no es válida porque dicha consulta forma parte del valor (custom analyzer) de la primera entrada. La tercera entrada,token, sí es válida.
Procedimiento
Resumen del flujo de trabajo
Crear un analizador personalizado -> Realizar una modificación sin conexión -> Reindexar -> Comprobar los resultados
Pasos
En el panel de navegación izquierdo de la consola de OpenSearch, vaya a Search Algorithm Center > Retrieval Configuration > Analyzer Management y luego haga clic en Create.
Cree un analizador, defina un nombre y seleccione un tipo:
En el cuadro de diálogo que aparece, en Analyzer Type, seleccione Built-in Analyzer o Custom Model Analyzer; luego, en la lista desplegable Analyzer, elija un analizador específico, como Chinese - General Analysis.
Agregue una entrada de intervención, introduzca la consulta (por ejemplo, "sticky rice") y el resultado del análisis, y configure el análisis secundario:
En la página Entry Management, haga clic en Add. En el cuadro de diálogo Add Intervention Entry, introduzca una Query y el Analysis Result, habilite Secondary Analysis y haga clic en Save. Nota: Separe las palabras con espacios. Ejemplo: "sticky rice" ==> "sticky rice".
Pruebe el análisis para comprobar el resultado de la entrada de intervención:
En la lista de analizadores de la página Analyzer Management, localice el analizador personalizado objetivo y haga clic en Analysis Test en la columna Actions.
4.1. En el texto de prueba, introduzca "sticky rice".
Tras realizar la prueba con el analizador test_zw, el resultado del análisis muestra que "sticky rice" se divide en las dos entradas sticky y rice.
4.2. Compare los resultados de análisis de varios analizadores personalizados.
Los resultados de la comparación muestran que test_zw segmenta "sticky rice" en sticky y rice, mientras que kevintest2 mantiene sticky rice como una entrada completa.
Después de probar el efecto del análisis, regrese a Basic Configuration dentro de Retrieval Configuration para aplicar los cambios a su aplicación:
En el área Analysis Configuration, haga clic en el botón Offline Modification.
Nota: Una modificación sin conexión genera una nueva versión de la aplicación sin conexión basada en su configuración actual. Su aplicación en producción no se ve afectada.
En la lista de campos de índice, seleccione su analizador personalizado en la columna Analysis Method para el campo de índice correspondiente.
Los cambios surten efecto una vez que finaliza la reindexación.
Demostración del efecto del analizador personalizado
Por ejemplo, cuando un documento contiene "glutinous rice", el analizador "Chinese - General" podría producir resultados inesperados: una búsqueda de "rice" no logra recuperar documentos que contienen "glutinous rice", "millet" o "rice". Después de agregar el analizador personalizado "test_zw", modificar la estructura de la aplicación y reindexar como se describió anteriormente, los términos resultantes coincidirán con su análisis personalizado.
Notas adicionales
Puede agregar entradas a un analizador personalizado que ya esté en uso por una aplicación, pero debe reindexar para que las nuevas entradas surtan efecto. Para aplicar los cambios a documentos específicos, vuélvalos a cargar. Esta acción reindexa únicamente dichos documentos y aplica las nuevas entradas de intervención.
La consulta de una entrada no puede exceder los 10 caracteres.
La consulta de una entrada no puede contener letras mayúsculas, caracteres de ancho completo ni signos de puntuación chinos.
El resultado del análisis de una entrada no puede contener letras mayúsculas, caracteres de ancho completo ni signos de puntuación chinos.
Si deshabilita el análisis secundario, OpenSearch se adhiere estrictamente a sus resultados de intervención y no realiza ninguna segmentación adicional. Si lo habilita, los resultados de la intervención podrían segmentarse aún más.
Para utilizar el Industry - E-commerce General Analyzer como base de un analizador personalizado, su aplicación debe ser de la Industry-specific Enhanced Edition.
No es posible eliminar un analizador personalizado que se encuentre en uso.