Ich habe eine Kategorie mit vielen Themen (über 900), die alle denselben Tag haben, sagen wir answered, den wir verwenden, um Beiträge zu verfolgen, auf die bereits geantwortet wurde.
Viele enthalten auch weitere Tags: deployment, cli, api und so weiter, um das „Thema" der Frage zu kennzeichnen.
Wie finde ich alle Themen in meiner Kategorie, die nur den Tag answered haben, aber keine der anderen?
Ich habe bereits folgende Syntax ausprobiert: Zum Beispiel tags:answered -tags:redirects gibt bei der Suche zwar alle Elemente mit dem Tag answered zurück, aber nicht die mit dem Tag redirects.
Um dies auf meine Situation anzuwenden, müsste ich jedoch alle Tags, die ich ausschließen möchte, einzeln auflisten – und ich habe sehr viele.
Gibt es eine Möglichkeit, Platzhalter bei der Tag-Suche zu verwenden? Etwa so: tags:answered -tags: *?
Falls nicht, gibt es eine andere Möglichkeit, eine Liste von Elementen zu erhalten, die nur den Tag answered haben und keine anderen?
[quote=“Perry_Eising, Beitrag:1, Thema:130633”]
Ich habe beispielsweise die folgende Syntax ausprobiert: tags:beantwortet -tags:umleitungen. Bei der Suche werden zwar alle Einträge mit dem Tag „beantwortet
Danke @simon – ich denke, ich werde versuchen, alle Tags, nach denen ich nicht suchen möchte, wie vorgeschlagen in eine Tag-Gruppe zu packen und das auszuprobieren
Entschuldigung, ich war nicht so klar, wie ich hätte sein können. Wenn es möglich wäre, eine Tag-Gruppe von der Suche auszuschließen, würde dieser Ansatz funktionieren, aber ich sehe keine Möglichkeit, eine Tag-Gruppe von den Suchergebnissen auszuschließen.
Sie können mit einer Data Explorer-Abfrage eine Liste von Themen abrufen, die nur ein einzelnes bestimmtes Tag haben. Etwas wie das könnte für Sie funktionieren:
--[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