Add search synonyms

I have been reading a lot here lately and see that ‘post’ and ‘reply’ seem to be used somewhat interchangeably.

If this were done, it would result in fewer bothersome questions when someone uses the wrong one of the two for their searching before they ask a question with a new topic (LOL it just happened to me, ‘delete post after’ did not produce the same results as ‘delete reply after’…)

Hence my topic question…

1 me gusta

Reply and post are not 100% interchangeable. In most usage we see here on Meta they are, but not always.

I’d suggest reviewing Discourse New User Guide, which describes what a post is. A reply is any post that is not the OP.

5 Me gusta

But I would rather find what I am searching for even if I do not know the correct terminology.

For those more ‘in the know’, would they not still have the option of doing explicit searches with quotes around their explicit term of interest, for example “reply” :question:

Thanks, I will read that but do many other people read that before they make new topics here?

So, I read the ‘Discourse New User Guide’ and I am unable to find any explicit definition of ‘reply’.

But as I have quoted you above, a ‘reply’ is necessarily a ‘post’, so when someone searches for ‘post’ all ‘reply’ matches should also be presented…

Whether, a search for ‘reply’ should bring up all ‘post’ entries is also unknown after reading that guide.

So, I would still like to have the request of this topics’ title, acted upon. (but again, that is only my opinion)

A reply is necessarily a post but some posts are not replies so searching on post should not automatically add the reply search term.

If your preference is satisfied then it will annoy other users like myself who are only searching for post and not reply.

3 Me gusta

But you are obviously ‘in the know’ and would likely just use an explicit search term without bothering people here with a new topic about why so many search results for ‘post’ are showing up in your ‘reply’ searches.

Regardless of the semantics of post/reply — adding synonyms to search isn’t something that can be configured in Discourse at the moment.

9 Me gusta

Ok, that shuts me up :wink: but perhaps there should be a way to add them, I predict it could lessen the burden on the good people who respond to newbies on this great forum :slight_smile:

Actually, I do general searches and then follow relevant links that have some overlap with what I’m searching for.

Search engines have an idea of which links are followed. Discourse has something similar. “Suggested messages” at the end of the topic are a fruitful source of relevant topics not directly related to the specific search terms.

1 me gusta

I am recategorizing it as feature the feature request is pretty clear to me. It is asking for a place in the UX to define custom synonyms.

Postgres technically supports synonyms per:

So if you wanted to get your gloves off and be mega technical you could wire something today, but I agree that some time in the future adding a UI to allow mods to define this may be interesting.

Not putting a pr-welcome on this cause it is complicated and would take quite a while to get right with possible limited benefit.

Timeframe wise I would say this is something I expect not to get to in the next year and probably to get to within the next 5 years.

9 Me gusta

Congratulations Dale :partying_face:

image

1 me gusta

Hemos actualizado nuestra terminología (Usuario ahora es “Miembro”) y hemos actualizado nuestra documentación en consecuencia, pero me gustaría poder hacer que cualquiera que busque Usuario vea automáticamente los resultados que mencionan “Miembro”. ¿Alguna idea sobre un método sencillo para lograr esto?

CC: @michellefs

Es una tarea bastante difícil, podríamos crear un plugin que inyecte sinónimos en los datos indexados, pero estaríamos hablando de entre 1 y 5 días de trabajo.

Supongo que la gran pregunta aquí es, ¿qué importancia tiene esto para usted? Es factible, pero requeriría una consultoría personalizada por nuestra parte.

1 me gusta

No sé nada, pero ¿no es solo cuestión de cambiar textos desde el lado de personalización? ¿O ahora, como de costumbre, entiendo totalmente mal?

Creo que la esperanza es tener la capacidad de impactar el algoritmo de búsqueda indirectamente a través de una herramienta como sinónimos de etiquetas. Pero para cualquier palabra clave dentro de una publicación (o la publicación original, al menos).

Un ejemplo de caso de uso sería para los miembros de la comunidad/visitantes del sitio que buscan sus frases coloquiales en lugar de jerga de marca similar. El algoritmo de búsqueda priorizó temas muy diferentes. Un ejemplo en nuestro sitio sería buscar temas de “aplicación de escritorio” frente a “cliente nativo”.

Tengo curiosidad por saber si los puntos de vista sobre los errores tipográficos han cambiado con los años:

En Discourse-AI comenzamos a experimentar con la búsqueda semántica. Todavía estamos en las primeras etapas y explorando estos sistemas.

Usar LLMs para mejorar el prompt de búsqueda también es un enfoque posible (aunque lento hoy en día):

Esta técnica se menciona aquí: GitHub - texttron/hyde: HyDE: Precise Zero-Shot Dense Retrieval without Relevance Labels


Además de los enfoques 100% automatizados

Nuestra estrategia general aquí es iterar. Ya tenemos “palabras vigiladas” en el producto, no me importaría una función que agregue “Sinónimos de búsqueda” donde especifiques errores tipográficos comunes y frases comunes que desees “rellenar”. No es un trabajo programado, pero ciertamente es algo que podrías considerar patrocinar.

Existe un precedente para esta función exacta en Postgres según: https://www.postgresql.org/docs/current/textsearch-dictionaries.html#TEXTSEARCH-SYNONYM-DICTIONARY

La otra área que estoy abierto a explorar (aunque solo estoy tibio en esto) es permitir un lugar de “metadatos” oculto en las publicaciones, donde los administradores puedan rellenar términos de búsqueda. Es muy, muy invisible y, en general, recomiendo simplemente “rellenar” las obras adecuadamente para que las cosas no queden ocultas, por ejemplo:

SEO

semántica, relacionada, mejorando

2 Me gusta

Shocked Cosmo Kramer GIF

Esa es una idea de genio puro, resuelve el principal problema de la búsqueda basada en embeddings: la mala entrada del usuario.

Y requiere cambios mínimos en nuestra configuración existente, ya que solo necesita agregar un pequeño paso de “enriquecimiento” de la consulta de búsqueda :exploding_head:


Sobre este tema, algo que también podemos hacer es una búsqueda híbrida:

  • Buscar usando la búsqueda de texto completo de PG existente
  • Buscar usando embeddings
  • Recopilar los 50 mejores resultados de ambos
  • Pasar a un servicio de reordenación de búsqueda
  • Mostrar los resultados reordenados

Ya enviamos un reordenador súper capaz en nuestra API de embeddings existente bajo un punto final separado, esto tiene todas las piezas necesarias listas para suceder.

Ejemplo aquí:

https://github.com/pgvector/pgvector-python/blob/master/examples/hybrid_search.py#L67-L70

6 Me gusta