Comentarios sobre nuestro experimento de búsqueda instantánea

Recientemente nos embarcamos en un experimento de dos meses para prototipar una nueva experiencia de búsqueda en Discourse.

Por favor, pruébalo en https://meta.discourse.org/instant-search

:speaking_head: Si quieres charlar sobre tu experiencia, no dudes en programar una llamada. Agradecemos cualquier comentario :pray:

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.

18 Me gusta

Esto suena genial. ¿Puedes poner un enlace a él en algún lugar, como en la barra lateral?

6 Me gusta

Dado que se menciona AWS, me pregunto si algunas de las características de AWS Q serían un camino rápido y sostenible para mejorar la búsqueda.

2 Me gusta

¡Esto se ve genial! En cuanto a la velocidad, es bastante asombroso.

Parece que no coincide parcialmente con las palabras del título.

Por ejemplo, busco el tema: Objects type for theme setting.
Si no proporciono una s a object, no encuentra el tema.

5 Me gusta

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.

7 Me gusta

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í :+1:

4 Me gusta

¡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?

3 Me gusta

Es genial. ¿Tendrá una opción de autocompletar para móviles como Elasticsearch?

3 Me gusta

Gracias, pero fue mi culpa.
De hecho, ni siquiera vi una lista desplegable, ¡aunque la primera publicación hablaba de los modos! :derp:

Ahora tiene sentido :+1:.

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 :clap:; Experimentaré más con él.

5 Me gusta

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.

10 Me gusta

¡Me encanta que sea rápido!

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?
3 Me gusta

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.

3 Me gusta

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?
3 Me gusta

Estos son algunos problemas comunes a lo largo de los años:

  1. Hay muchas quejas sobre que nuestra búsqueda no encuentra lo que la gente busca, especialmente para el caso de uso de
  1. La búsqueda de Discourse no maneja errores tipográficos en absoluto.

  2. La mala experiencia del desarrollador en la búsqueda existente la convierte en un ciudadano de segunda clase, como que el chat aún no se puede buscar.

  3. Mala experiencia del usuario en la búsqueda de mensajes privados.

4 Me gusta

:bangbang: Tengo una lista larga también, pero quería asegurarme de venir con preguntas y entendimiento antes de insistir :joy:

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:

Aquí hay un par que se me ocurren inicialmente:

  • Mejor búsqueda de mensajes privados (PM)
  • Búsqueda de chat
  • La capacidad de buscar (o extender la búsqueda) fuera del sitio sería genial. Muchas comunidades no se detienen en las puertas de Discourse.
  • Como mencionaste, las búsquedas de cadenas exactas a veces devuelven un comportamiento extraño.
5 Me gusta

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.

3 Me gusta

Solo para que sepan, hemos desactivado temporalmente este experimento. Debería volver pronto. :dedos_cruzados: :sonrisa_ligera:

7 Me gusta

Ya está de vuelta :ojos:

4 Me gusta

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 :pray:

6 Me gusta

Otra pequeña pausa :palm_tree: Vuelvo pronto. :slight_smile:

2 Me gusta