La búsqueda con puntuación da resultados inestables

Por ejemplo, buscar it, it:, “it, it:”, “it, it:”,, "it, it:", o it, it:”. No aparece esta publicación, aunque contiene “it, it:” en su texto.[1]

Además, al pulsar el botón de búsqueda, las comillas “” se convierten en "". No me gusta esta experiencia; no sé si se trata de un error.

Plataforma: Edge en Android, try.discourse.org, se puede reproducir en modo seguro


  1. Por si se elimina automáticamente: el contenido de la publicación de prueba es: It, “it, it:”, it, oandnxkwbs. ↩︎

Creo que it es una palabra vacía que se excluye de la búsqueda. ¿Has intentado reproducir el problema con una palabra que no esté en esa lista para verificar si se trata de un problema de puntuación?
Are specific terms ignored from searches? - #5 by codinghorror

Ya no puedo reproducirlo de ninguna otra forma. Quizás el foro donde vi el problema tiene una versión desactualizada de Discourse.

En realidad, creo que puedo reproducirlo de nuevo. Intenta encontrar esta publicación buscando we don't.

Y buscar “just-use-interface{}/object; we don’t need generics” o "just-use- interface{} / object ; we don't need generics" no la encuentra.

Pero buscar just-use- interface{} / object ; we don't need generics sí la encuentra.

Sí, es correcto… no se puede buscar it en absoluto… si lo intentas aquí, no obtendrás resultados. Las palabras que es probable que aparezcan un número extremo de veces (I, the, a, pronombres, etc.) se excluyen del índice porque aparecen con demasiada frecuencia para proporcionar una diferenciación significativa.

lo mismo aquí, we y don't (técnicamente don y t) no están indexados

esta situación es un poco diferente… para:

"just-use- interface{} / object ; we don't need generics"

eso nunca funcionará, las comillas solicitan una coincidencia exacta y los espacios hacen que no sea una coincidencia exacta

en el caso de buscar:

"just-use-interface{}/object; we don't need generics"

el texto de la publicación original contiene una comilla decorativa (don’t) pero la búsqueda las elimina, por lo que no se puede devolver nunca una coincidencia exacta para una… esto significa que las publicaciones y la búsqueda no son exactamente simétricas, lo cual es algo que quizás podría mejorarse

esto se debe a que, sin las comillas alrededor, no estás buscando una coincidencia exacta, por lo que recopila los términos “interface” “object” “need” “generics” y esa publicación es la mejor coincidencia para esos términos

Me resultó muy difícil encontrar los temas que buscaba, incluso con palabras muy comunes. Es algo que se mencionó antes, y hace años hubo un experimento de integración con Typesense.

Me pregunto si hay planes reales para mejorar la función de búsqueda de Discourse. Es una de las herramientas más destacadas, y creo que necesita algo de refactorización y cariño.

¿Quizás añadir una opción de “búsqueda de texto plano” que desactive las trampas como las comillas ""?

Y me pregunto si hay alguna razón técnica para excluir “we” y “don’t” (don, t) de la indexación para la búsqueda. ¿Es porque son demasiado comunes?

sí, exactamente

Las palabras de parada son palabras muy comunes, que aparecen en casi todos los documentos y no tienen valor discriminatorio. Por lo tanto, pueden ignorarse en el contexto de la búsqueda de texto completo. Por ejemplo, todo texto en inglés contiene palabras como a y the, por lo que no tiene sentido almacenarlas en un índice.

PostgreSQL: Documentation: 18: 12.6. Dictionaries