Si quieres charlar sobre tu experiencia, no dudes en programar una llamada. Agradecemos cualquier comentario
Características
Búsqueda rápida
Capacidad para buscar temas, publicaciones, mensajes de chat y usuarios
Los resultados de publicaciones y temas incluyen mensajes privados
Los mensajes de chat incluyen canales privados y mensajes directos
Filtros basados en UI para cosas como etiquetas, categorías, usuarios, bandejas de entrada, canales, etc.
Modos de búsqueda por palabras clave, semántica, híbrida e HyDE
Preguntas frecuentes
La búsqueda deja de funcionar después de un tiempo en la página
De hecho, lo hace; por favor, actualiza.
No admite nuestra gramática de búsqueda, como @usuario o #categoría
De hecho, no lo hace, pero es algo que se puede agregar fácilmente si decidimos implementarlo.
Que los objetivos de búsqueda de temas y publicaciones sean distintos es una elección extraña
Puedo ver por qué, especialmente si estás acostumbrado a cómo funciona la búsqueda de Discourse durante la última década. Si decidimos implementarlo, podríamos crear un modo que haga ambas cosas al mismo tiempo, o incluso simplemente ejecutar ambas y mostrarlas ambas en la UI. Para las limitaciones de este experimento, esta fue la forma más fácil de abordar ambos casos de uso de:
Sé que este tema existe y solo quiero encontrarlo (Búsqueda de temas)
Quiero investigar cualquier ocurrencia de esta consulta (Búsqueda de publicaciones)
La calidad de los resultados no es la esperada
Apenas hemos tocado lo que es posible aquí; en este momento, solo priorizamos las categorías y asignamos pesos al título y al cuerpo. Esto necesitaría ajustes adicionales para igualar el refinamiento que tenemos en la búsqueda existente, pero también brinda la posibilidad de ir más allá. Desafortunadamente, mucho se controla a través de la API de JS, y la biblioteca que estamos utilizando nos ha limitado bastante aquí.
Semántica / HyDE / Híbrida son lentas
Agregamos un mayor retardo en estas para solucionar algunas molestias en la biblioteca de JS que estamos utilizando. Si decidimos implementarlo, esta biblioteca de JS es la primera en la lista. En cuanto a la velocidad general de estas, dependen de dos solicitudes, la primera para las incrustaciones, que se ejecuta en hardware antiguo en AWS, y eso no ayuda. También podríamos inyectar incrustaciones en el proxy de middleware para reducir la latencia. Nuevamente, limitaciones de tiempo del experimento.
Detalles técnicos
Este experimento utiliza Typesense, un clon de código abierto de Algolia. Se ejecuta en una instancia EC2 en el mismo lugar que todo lo demás en el hosting de Meta.
El frontend no solicita directamente a Typesense; en cambio, todas las llamadas se proxy a través de la aplicación Discourse, utilizando un middleware Rack.
La barra de búsqueda / resultados / refinamientos utiliza InstantSearchJS encapsulado en EmberJS. Desafortunadamente, esta biblioteca causó muchos problemas y no la usaremos si implementamos esto.
El servidor utiliza 7.35 GB de RAM para indexar todo Meta. Tenga en cuenta que la mayor parte se debe a las incrustaciones; sería menos de 2 GB sin ellas.
La opción de palabra clave es literal; para coincidencias más flexibles, puede probar semántica (que busca un significado similar) o modo híbrido (que hace una mezcla de ambos):
Creo que si continuáramos con este complemento, tendría sentido que el valor predeterminado fuera híbrido porque la gente no está muy familiarizada con el cambio de tipos de búsqueda de esta manera.
Lo probé rápidamente y me parece prometedor. Los días pasados, busqué el tema de la barra de administración experimental y el tema de restaurar copias de seguridad desde la línea de comandos. En el primer caso, me tomó un tiempo encontrarlo en los resultados de búsqueda, en el segundo caso, terminé buscando en mis marcadores. Pero la nueva búsqueda trae ambos y es mucho más rápida que la antigua. Así que definitivamente una mejora para mí
¡Interesante, no puedo esperar a explorarlo más a fondo! ¡Parece prometedor hasta ahora!
¿Podríamos ver algo como esto reemplazar eventualmente la función de búsqueda completa por completo? Además, ¿servirá esta herramienta como una adición a la herramienta de búsqueda actual en la barra de herramientas superior?
Estoy de acuerdo. No recuerdo un sitio web donde tuviera que cambiar su modo de búsqueda.
Como usuario, espero un modo predeterminado que funcione bien en la mayoría de las situaciones.
¡Los filtros dinámicos avanzados son realmente asombrosos! Será muy útil para acotar las búsquedas rápidamente.
En general, muy buen trabajo, equipo ; Experimentaré más con él.
Este experimento se realizó para investigar la viabilidad de reconstruir nuestra búsqueda desde cero y cuáles son las compensaciones de este nuevo enfoque. Si bien es demasiado pronto para decirlo, si la nueva experiencia de búsqueda es lo suficientemente bien recibida, se podría considerar integrarla en muchas de las funciones de búsqueda de Discourse, ya sea la búsqueda de página completa, la búsqueda en línea en el encabezado, la búsqueda de temas similares para Temas Relacionados, menciones de usuarios, autocompletado de hashtags, etc.
Eso es fácilmente factible con esta tecnología, tanto en móvil como en escritorio, muy parecido a la interfaz de búsqueda de Google.
Los modos solo existen para el experimento para que las personas puedan comparar y probar fácilmente; si esto se enviara, los modos se convertirían muy probablemente en una opción de administrador, en lugar de algo visible para el usuario.
También me gusta el experimento de /filter y la forma en que presenta todas mis opciones de filtro. Parece que se han explorado un par de direcciones con respecto a la búsqueda de contenido. ¿Se combinarán estas?
Lo que realmente simplificaría las cosas para mí si hubiera un lenguaje común al final, para que como usuario tenga una comprensión sencilla de:
¿Qué es una Búsqueda? ¿Qué es un Filtro?
¿Cómo reconozco cada uno en la interfaz, dónde debería esperar encontrarlos?
¿Cuándo se me presenta un conjunto de filtros simple/común? ¿Cómo accedo/expando el conjunto completo?
Si se envía, el backend para la búsqueda instantánea potenciaría /filter. Es básicamente lo mismo que ya estamos haciendo en la búsqueda de Temas en este experimento.
Si no le importa que le pregunte, para tener contexto y saber exactamente qué buscaré cuando esté probando:
¿Qué tiene de malo la búsqueda actual que desea cambiar o mejorar?
¿Qué estamos evaluando aquí además de la velocidad?
Si decide reconstruir la búsqueda desde cero, ¿hay alguna posibilidad de que la búsqueda de Discourse busque en otros lugares de contenido? por ejemplo, ¿documentos no alojados dentro de Discourse?
Tengo una lista larga también, pero quería asegurarme de venir con preguntas y entendimiento antes de insistir
Me alegra mucho ver la consideración para la mejora. Para que lo sepas, aunque tiene trabajo por hacer, constantemente nos dicen cuánto aman nuestros usuarios nuestra búsqueda (es decir, la búsqueda de Discourse) cuando la comparan con otras experiencias de búsqueda que tienen, incluso con sus peculiaridades.
Como función de obligatoriedad, mi equipo está usando exclusivamente (al menos entre nuestro propio equipo) Discourse para comunicarse. Esta fue la primera solicitud de uno de los miembros de mi equipo hoy:
Esto es algo que consideramos mucho al experimentar con una solución lista para usar como Typesense. Haría mucho más fácil extender nuestra búsqueda a “documentos” externos, ya sea permitiendo a los clientes inyectar documentos en nuestra base de datos o permitiendo que el front-end consuma de otras instancias que sigan algunas pautas para ser compatibles.
¡Qué bueno que obtuvimos esos dos de inmediato con el experimento! Gracias por tus comentarios.
Además de sus respuestas aquí, estoy intentando realizar algunas entrevistas cortas de investigación de usuarios para comprender mejor cómo utiliza la nueva búsqueda instantánea.
Obtener sus comentarios cualitativos generales: qué le gustó/no le gustó/cambiaría/le gustaría ver en el futuro.
Cómo la experiencia se compara con nuestra búsqueda actual.
Verlo en acción usando la nueva búsqueda.
Mis mensajes directos están abiertos si las personas están dispuestas a charlar por teléfono. Agradezco cualquier comentario