Tengo una categoría que contiene muchos temas (900+), todos los cuales tienen la misma etiqueta, digamos respondido, que utilizamos para rastrear las publicaciones que han sido contestadas.
Muchos también contienen otras etiquetas: despliegue, cli, api, y así sucesivamente, para denotar el “tema” de la pregunta.
¿Cómo puedo encontrar todos los temas en mi categoría que solo tienen la etiqueta respondido, pero ninguna de las otras?
He probado la siguiente sintaxis, por ejemplo tags:respondido -tags:redirecciones, y al buscar efectivamente me muestra todas las cosas con la etiqueta respondido pero NO las que tienen la etiqueta redirecciones.
Pero para aplicar esto a mi situación tendría que listar todas las etiquetas que NO quiero encontrar individualmente, y tengo muchas.
¿Existe alguna forma de usar comodines en las búsquedas de etiquetas? ¿Algo como: tags:respondido -tags: *?
Si no, ¿hay otra forma de obtener una lista de cosas que SOLO tengan la etiqueta respondido pero ninguna de las otras?
This is the only way I can see of excluding tags from a search.
It is possible to search for tag groups by using the category modifier with the tag group’s slug. For example, if you had a tag group called ‘topic status’, you can search for its tags with #topic-status, but tags can’t be excluded in this way, so -#topic-status doesn’t work.
Sorry, I wasn’t as clear as I could have been. If it was possible to exclude a tag group from search, this approach would work, but I can’t see any way to exclude a tag group from search results.
You could get a list of topics that only have a single given tag with a Data Explorer query. Something like this might work for you:
--[params]
-- string :tag_name
with tagged_topics AS (
SELECT
topic_id
FROM topic_tags
JOIN tags
ON tags.id = topic_tags.tag_id
WHERE tags.name = :tag_name
),
counts AS (
SELECT
COUNT(id) AS tag_count,
tagged_topics.topic_id
FROM topic_tags
JOIN tagged_topics
ON tagged_topics.topic_id = topic_tags.topic_id
GROUP BY tagged_topics.topic_id
)
SELECT
c.topic_id
FROM counts c
JOIN topics t
ON t.id = c.topic_id
WHERE t.deleted_at IS NULL
AND t.archetype = 'regular'
AND c.tag_count = 1