Una breve discusión sobre la tecnología del escenario de la capa de presentación de búsqueda: la práctica de tanGo

Autor | Plataforma tecnológica de búsqueda

Introducción 

Este artículo trata sobre tecnologías relacionadas con la capa de presentación de búsqueda. La línea principal presentará primero la forma del producto Search Aladdin para que los lectores tengan una comprensión preliminar de qué es Aladdin y los conceptos de presentación relacionados. Más adelante, nos centraremos en los productos basados ​​en escenarios. La búsqueda basada en escenarios es una de las soluciones para crear una experiencia inmersiva y perfecta (recombina Aladdin de página completa y resultados naturales). Hay muchas tecnologías de búsqueda relacionadas y no se pueden cubrir por completo. Este artículo presenta principalmente el marco de desarrollo detrás de tanGo y presentará en detalle el pensamiento, los problemas encontrados y las soluciones correspondientes durante el proceso de construcción. Espero que los lectores obtengan algo al leer este artículo.

El texto completo tiene 4412 palabras y el tiempo estimado de lectura es de 12 minutos.

01 Introducción a los antecedentes relacionados

Comprenda qué es Aladdin. Aladdin es un producto vertical lanzado por Baidu Search. Durante el proceso de búsqueda, los usuarios mencionaron requisitos de consulta como enciclopedia, clima, puntos de interés, cine y televisión, deportes, acciones, chino, traducción, etc. (como se muestra a continuación) Algunos ejemplos de productos son el retiro del mercado de productos Aladdin en diversos grados.

imagen

Lo anterior es el patrón de búsqueda para cumplir con requisitos individuales y grupos de demanda (agregación de múltiples resultados únicos para el mismo requisito). Para escenarios más complejos, como exámenes de ingreso a la universidad, Juegos Olímpicos y otros escenarios de eventos importantes, la búsqueda debe poder Identificar el escenario y luego recordar diferentes escenarios.Clúster de requisitos.

imagen

Además, algunas empresas en la categoría vertical técnica también están migrando PHP a Go. Con tal producto y experiencia técnica, el equipo de investigación de la industria de búsqueda incubó y diseñó el marco comercial tanGo. Lo siguiente será del análisis de la demanda -> abstracción comercial - > Diseño general y capacidades centrales: centrarse en la lógica abstracta y otros aspectos, e introducir algunos problemas y pensamientos encontrados durante la construcción y aplicación de todo el marco. Antes de esto, Group y Search también habían acumulado algunos marcos de red básicos relativamente maduros y activos lib (incluido cgo). Sobre esta base, también se mejoró mucha eficiencia en el proceso de implementación real. Un marco empresarial debería responder bien: ¿Por qué lo haces? (resolver problema de negocios) ¿Cómo hacerlo? ¿Cómo medir (diseño, implementación)? (Construcción de indicadores), las prácticas específicas se analizan a continuación.

02 Análisis de requisitos

Desde la perspectiva de los conceptos de búsqueda, comprendamos los diferentes escenarios que los productos basados ​​en escenarios deben satisfacer:

1. Resultado único: recupera un resultado y busca la unidad básica de recuperación. Por ejemplo: recuperación de recursos. Consultar películas, programas de televisión, novelas, etc.; recuerdo computacional. Calendario, calculadora, etc.

2. Grupo de requisitos: agregación de múltiples resultados únicos del mismo requisito. Por ejemplo: la enciclopedia, las relaciones de los personajes y las obras del personaje de ejemplo "Andy Lau".

3. Grupo de requisitos: una colección de múltiples grupos de requisitos. Por ejemplo: el examen de ingreso a la universidad en escenarios de eventos importantes (lugar principal, calendario de exámenes de ingreso a la universidad, línea por lotes, preguntas reales, un punto y una sección), cada uno es una demanda de grupo de demanda independiente, al igual que otros grandes escenarios como los Juegos Olímpicos. Juegos.

4. Página de resultados: el resultado general devuelto correspondiente a la consulta. Puede contener múltiples requisitos, es decir, múltiples grupos de requisitos. (Por ejemplo, q=Turismo de Sanya, que incluye tanto la demanda turística como la demanda financiera).

03 ideas y práctica de diseño de tanGo

3.1 Abstracción empresarial

3.1.1 Abstracción de productos basada en escenarios

Desde la perspectiva de la tecnología de presentación, los grupos de demanda y los grupos de demanda son colecciones de resultados únicos, con diferente latitud y granularidad. La abstracción general del proceso de procesamiento de solicitudes de recuperación se basa en varias etapas, y cada etapa se materializa y abstrae.

1. Recursos: la unidad de representación de los resúmenes de retirada. Los recursos aquí pueden ser resúmenes recuperados de varios motores de búsqueda o bases de datos.

  • Abstracción de entidades de recursos: estrategia previa (recursos), análisis de recuperación (recursos), recuperación de recuperación, mapeo de datos

2. Tarjeta: La unidad más pequeña de visualización de búsqueda. Complete la recuperación de la programación de recursos y ensamble el resumen para el mapeo de la plantilla de front-end

  • Abstracción de entidad de tarjeta: estrategia de posicionamiento previo (tarjeta), recuperación y análisis (tarjeta), programación de recuperación de recursos (responsable de la programación gráfica de la lista de recursos debajo de la tarjeta), ensamblaje de plantilla de front-end

3. Escenario: la recuperación debe identificar el subescenario que se mostrará en función del análisis de consultas y completar la recuperación de diferentes grupos de demanda.

  • Capa de programación: nivel de solicitud

  • Abstracción de entidad de escena: solicitud de estrategia previa, cálculo de escenario de análisis Q, programación de tarjetas (responsable de ejecutar la programación gráfica de recolección de tarjetas bajo grupos de demanda), recuperación de estrategia posterior y organización de paquetes de devolución

3.1.2 Ideas técnicas para la construcción de estructuras.

Estandarización del procesamiento de procesos de negocio, consideraciones centrales en el proceso de procesamiento.

1. Conversión de protocolo

  • Admite múltiples protocolos como http/nshead

  • Admite la conversión de múltiples protocolos de datos como pb/json

  • Considere la recuperación sincrónica y asincrónica, y la capacidad cubre escenarios de desarrollo como páginas de resultados, páginas de escenarios asincrónicos, programas pequeños, estaciones independientes, etc.

2. Configuración: considerando costos de operación y mantenimiento, configuración y visualización de solicitudes de recuperación

3. Componentización y operatividad: para facilitar la posterior construcción conjunta

4. Programación gráfica de recursos: programación de tarjetas, programación de recursos

Establecer un mecanismo de co-construcción de componentes estandarizado

1. Definir interfaces estandarizadas de componentes de datos, recuperación y estrategia.

2. Mecanismo de contribución de componentes

Establecer un mecanismo de co-construcción de biblioteca de clases estandarizado

1. Estándar de contribución Lib estándar. Por ejemplo: muestreo, DAG, seguimiento, algoritmo, cadena, conversión de protocolo, cifrado y descifrado, etc.

2. Página de índice de biblioteca estándar

Otros puntos clave

1. Etapa de desarrollo: generación con un solo clic, programación visual y manuales de usuario para mejorar la eficiencia de la I+D

2. Fase de prueba: aceleración de compilación, QATest, interceptación de nivel 0 y otras entregas garantizadas

3. Después de conectarse: sistema de monitoreo de soporte: construcción de paneles Prometheus, negocios, downstream, recuperación y programación

3.1.3 Métricas

Tamaño :

  • Escala de aplicación, cobertura del equipo.

Eficiencia :

  • Costo de creación de nuevo proyecto.

  • Ciclo de entrega de nuevos productos.

  • Costos de capacitación y aprendizaje de nuevos empleados

  • La cantidad de componentes comunes, Lib y el ahorro en líneas de código generado por la precipitación de componentes.

  • Eficiencia del equipo, retroalimentación para mejorar la eficiencia de la entrega del equipo

Satisfacción del usuario :

  • NPS, comentarios periódicos sobre la satisfacción del usuario

3.2 Diagrama de bloques de tecnología marco

Con base en la abstracción anterior de escenarios comerciales y la abstracción técnica, se construyó el siguiente diagrama de bloques de construcción del marco. Puntos centrales principales:

1. Facilidad de uso: creación de cadenas de herramientas de un extremo a otro

2. Estructura jerárquica del marco: proceso de negocio, componentes, Lib

3. Proceso de negocio: recuperación sincrónica, recuperación asincrónica, procesamiento de datos.

imagen

3.3 Diseño de puntos centrales

3.3.1 Diseño del proceso de búsqueda

Objetivos de diseño:

Un conjunto de procedimientos de procesamiento estándar, etapas de recuperación de resúmenes.

  • Procesamiento de nivel de solicitud

  • procesamiento a nivel de tarjeta

  • Procesamiento a nivel de recursos

imagen

La figura anterior muestra el proceso de procesamiento de solicitudes de recuperación. Cada etapa está organizada en forma de componentes. Los componentes son desarrollados conjuntamente por estudiantes de arquitectura y negocios. Se programarán diferentes tipos de componentes en cada etapa de recuperación. Los estudiantes de negocios pueden concentrarse en el Investigación y desarrollo de componentes de dominio y otros protocolos.El marco de I + D de conversión de envases se proporciona e interconecta de manera unificada.

3.3.2 Diseño de configuración

Objetivos de diseño:

  • El proceso de recuperación debe describirse en una configuración.

  • Para controlar los costes de aprendizaje, la gramática debe ser concisa y sencilla.

Puntos técnicos clave:

  • Abstracción de la topología del proceso: topología de tres capas (política, tarjeta, recurso)

  • Gestión de componentes: para gestionar el ciclo de vida de los componentes y ser compatible con GC al mismo tiempo, utiliza capacidades nativas como la reflexión y la agrupación de objetos.

  • Carga en caliente de la configuración: realice una actualización dinámica de la configuración

imagen

La figura anterior es un ejemplo concreto de configuración de componentes en diferentes etapas. Las ventajas que aporta la configuración son: el proceso de recuperación es transparente y visible, los costos de operación y mantenimiento son controlables y los costos de aprendizaje y aceptación son bajos.

3.3.3 Diseño de programación de recursos

Del proceso de procesamiento de escenarios y la configuración presentados anteriormente, podemos ver que la programación de tarjetas en el proceso de cálculo de la escena y la programación de recursos en el proceso de procesamiento de tarjetas utilizan la programación de topología en serie y en paralelo porque es necesario diseñar una ejecución DAG simple para el marco. .

Objetivos de diseño:

1. Basado en DAG, diseñe un conjunto de reglas gramaticales simples para implementar un motor de programación de recursos.

2. Capture y registre información de errores para excepciones del programa, tiempos de espera, etc.

Puntos técnicos clave:

1. Diseñe un conjunto de gramática de reglas DAG que sea simple y satisfaga las necesidades.

  • Control de procesos básico: sintaxis de control serial, paralelo y condicional

  • Control de excepciones: captura el procesamiento de excepciones del programa, tiempos de espera, etc.

  • Sintaxis simple y bajo costo para comenzar

2. Motor de programación DAG: ejecute la programación de gráficos según las reglas DAG configuradas

imagen

En la figura, se puede ver que durante el procesamiento de solicitudes de recuperación, las escenas y tarjetas se programan gráficamente de acuerdo con las necesidades de los escenarios del usuario para lograr la recuperación del usuario y la respuesta a necesidades complejas. Los componentes se comunican en serie a través del contexto.

3.3.4 Creando un mecanismo de co-construcción

Al diseñar el proceso de recuperación, consideramos la sostenibilidad y escalabilidad del marco y abstraemos el concepto de componentes. En el procesamiento del proceso de recuperación anterior, se programan varios componentes de procesamiento en diferentes etapas para responder a la recuperación, incluido el nivel de solicitud, el nivel de tarjeta, el nivel de recurso. nivel, estas son fases de programación escalables.

imagen

La idea general se divide en dos tipos de componentes, como se muestra en la figura: la arquitectura y el negocio se construyen conjuntamente para maximizar la reutilización y la escalabilidad empresarial.

1. Componentes arquitectónicos, escenarios comunes, abstracción unificada de la arquitectura, maximizando la reutilización entre clases verticales.

2. Componentes comerciales, componentes personalizados por las empresas según sus propios escenarios comerciales.

3.3.5 Diseñado para facilitar su uso

Después de completar la construcción del marco, nos enfrentamos a cómo acercarlo al negocio y cómo hacerlo más fácil de usar. A continuación se muestra la construcción orientada a la facilidad de uso.

La facilidad de uso es un paso muy importante para la implementación y la ampliación. Es necesario observar todo el proceso de entrega desde una perspectiva de extremo a extremo desde una perspectiva de I + D de primera línea, y luego construir cadenas de herramientas para abordar los problemas en cada etapa para mejorar la eficiencia operativa.

imagen

La imagen de arriba muestra las diferentes etapas de investigación y desarrollo. Parte del apoyo brindado por el equipo marco es, por un lado, garantizar el acceso y la eficiencia del desarrollo, y también recopilar comentarios de manera activa y rutinaria para mejorar y mejorar.

04 Conclusión y perspectivas

Este artículo comienza con la introducción del formulario del producto Aladdin de búsqueda, se extiende al escenario y resume el marco tanGo en función de las características del producto del escenario de búsqueda. A continuación, el sistema de enfoque compartió en detalle las ideas y prácticas de diseño técnico del marco tanGo y expresó el pensamiento central y los puntos centrales del diseño tanto como fue posible. El espacio no puede cubrir todos los puntos de diseño y el marco aún tiene deficiencias y deficiencias. , que continuará en el futuro de iteraciones de optimización.

En el futuro, el marco se centrará más en "todo el proceso" de producción e investigación y, al mejorar las capacidades del marco, proporcionará un soporte y una cobertura más completos para toda la investigación y el desarrollo, la fase de prueba y después del lanzamiento. Por ejemplo, a través de la integración del marco con los servicios de alojamiento de código, el marco puede proporcionar soporte y cobertura más completos al crear código. La etapa de biblioteca mejora la facilidad de uso, estandariza la compilación y el lanzamiento, integra el marco con servicios de integración continua y mejora la capacidad de prueba. después del lanzamiento, etc., y cubre todo el proceso de I+D de forma más completa.

imagen

Todavía hay muchos detalles en cada etapa de un proyecto, desde la construcción de requisitos hasta la implementación del proyecto, la aplicación y la ampliación. Si está interesado en buscar productos Aladdin o mostrar problemas técnicos, puede dejar un mensaje para comunicarse.

Actualmente, el puesto de "Ingeniero de I+D de productos de búsqueda" está muy solicitado y trabaja principalmente en el back-end de la producción e investigación de búsqueda, la aplicación y la arquitectura de IA.

Los estudiantes interesados ​​pueden enviar sus currículums a [email protected]

--FIN--

Lectura recomendada

Primera introducción a la búsqueda: la primera lección del gerente de productos de búsqueda de Baidu

Aplicación de tecnología inteligente de preguntas y respuestas en la búsqueda de Baidu

Admite la práctica de reconstrucción de código OC a través de script Python (1): análisis de relación de llamada de módulo

CVPR2023 Excelente artículo | Análisis del problema de la falta de generalización en el algoritmo de identificación de imágenes falsificadas AIGC

Completa el diseño y desarrollo de códigos exclusivos en un solo artículo.

Alibaba Cloud sufrió un fallo grave y todos los productos se vieron afectados (restaurados). Tumblr enfrió el sistema operativo ruso Aurora OS 5.0. Se presentó la nueva interfaz de usuario Delphi 12 y C++ Builder 12, RAD Studio 12. Muchas empresas de Internet contratan urgentemente programadores de Hongmeng. Tiempo UNIX está a punto de entrar en la era de los 1.700 millones (ya entró). Meituan recluta tropas y planea desarrollar la aplicación del sistema Hongmeng. Amazon desarrolla un sistema operativo basado en Linux para deshacerse de la dependencia de Android de .NET 8 en Linux. El tamaño independiente es reducido en un 50%. Se lanza FFmpeg 6.1 "Heaviside"
{{o.nombre}}
{{m.nombre}}

Supongo que te gusta

Origin my.oschina.net/u/4939618/blog/10139947
Recomendado
Clasificación