Diese Situation ist ziemlich unglücklich. So sehr ich auch davon überzeugt bin, dass die Suche für alle verfügbar sein sollte, kann ich auch nachvollziehen, wie viel Ärger dieser Bot verursacht. Auch die oben genannten Vorschläge zum Geo-Blocking halte ich als erste Verteidigungslinie für sehr nützlich, wenn bekannt ist, dass Nutzer aus bestimmten Regionen stammen.
Ich hatte anfangs über search_allowed_groups nachgedacht, glaube aber, dass allow_anonymous_search (Standardwert: true) besser geeignet ist. Eine gruppenbasierte Funktion würde bestimmte interne Funktionen, die von search abhängen, etwas zu unübersichtlich machen.
Mit dem oben Genannten sind, wenn allow_anonymous_search deaktiviert ist, alle Suchfunktionen (API/UI) für anonyme Nutzer nicht verfügbar. Die Beschreibung der Einstellung ist entsprechend angepasst.
Ein Punkt, bei dem ich zögerte, ist, ob bei deaktiviertem allow_anonymous_search das Suchfeld (das dann nicht funktioniert) trotzdem angezeigt werden sollte, um den Nutzer zur Registrierung bzw. zum Einloggen zu ermutigen. Ich denke aber, dass dies die Zusammenführung dieses PRs nicht verhindern sollte.
Ich würde außerdem bevorzugen, wenn wir andere Funktionen nicht in diese spezifische Anfrage einbeziehen, die sich vorerst auf /search beschränkt.