Filtrowanie po tagach

0

W nawiązaniu do posta, który popełniłem w dyskusji o nowym dziale: Nowy dział gamedev

Przydałoby się lepiej wykorzystać istniejący już mechanizm tagowania, i umożliwić zawężanie wyników w widoku wątków na forum (i/lub w kategorii) poprzez dodanie tagów, z pominięciem funkcji Moje tagi. Żeby zobrazować ideę popełniłem małą copy-pastę tu i tam:

screenshot-20210403235333.png

screenshot-20210403235352.png

Myślę, że to o tyle dobry moment na przedyskutowanie takiego ficzura, że obecnie funkcja Moje tagi:

  • jest mało widoczna - trochę czasu mi zajęło znalezienie jej, jest dość daleko od elementów, po których nawiguję przekopując forum (kategorie, sortowanie, widoki kategorii / całe forum)
  • jest mocno ograniczona - z tego, co zauważyłem testując ją naprędce, jestem w stanie dodać jedynie jeden tag naraz. Zresztą w przypadku wielu tagów nie wiadomo, czy powinna to być koniunkcja, alternatywa, dowolna kombinacja etc...
  • najwyraźniej działa tylko częściowo - jestem w stanie wybrać do Moich tagów jeden z popularnych tagów, jednak nie mogę dodać własnego. Nie ma widocznego komunikatu o błędzie, za to w konsoli jest czerwono:

screenshot-20210404000556.png

0

Nie bardzo rozumiem; czy funkcjonalność "moich tagów" nie jest ortogonalna do Twojego pomysłu?

0

Jest i nie jest, bo robi mniej więcej to, co filtrowanie po tagach: wybierasz tag i wtedy w zakładce wątki z: tag powinieneś widzieć wątki oznaczone tym tagiem. Więc niby się pokrywa, ale przez wymienione wcześniej problemy nie jest tak użyteczne, jak mogłoby być ;)

0

To chyba nie rozumiem nadal. Ja mam pustą zakładkę z "moimi tagami". Na logikę tam powinny być tagi, które ja dodałem. A Ty proponujesz filtrowanie po wszystkich tagach, czyli także tych, które nie ja dodałem.

1

Nie rozumiem, czego nie rozumiesz :(

Proponuję, by rozszerzyć ten widok o dodatkowy filtr, filtrujący po tagach, które istnieją już na forum. Tak, by móc po dowolnym tagu, jaki istnieje (jak nie istnieje, to i tak nic nim nie znajdziesz...) filtrować posty. Jak dokładnie - nie wiem.

Może to powinno być na zasadzie:

Wybrałem `kotlin` i `spring` -> powinno filtrować posty zawierające oba tagi

A może być na zasadzie:

Wybrałem `java` i `kotlin` -> powinno filtrować posty zawierające przynajmniej jeden tag

Nie wiem. Ta kwestia jest otwarta.

Też mam pustą zakładkę Moje tagi i nawet nie wiem, do czego ona służy - bo nic nigdy tam nie widziałem. Jak wejdziesz tu: Forum dyskusyjne to powinieneś po prawej, pod "Szukaj pracy w..." widzieć to:

screenshot-20210404014830.png

Na moje oko to są dokładnie te same tagi, które dodawane są do wątków (są nawet liczniki - raczej wątpię, by czymś odrębnym niż tagi z forum). Jak wybierzesz któryś np. sql (lub dodasz swój - ale u mnie nie działa, o czym wspomniałem na początku), to pojawi się dodatkowa zakładka, ale Moje tagi pozostają puste: https://4programmers.net/Forum/Tag/sql

screenshot-20210404015213.png

Swoją drogą, można zmienić tag w URL na inny i też będzie to działać:
https://4programmers.net/Forum/Tag/spring
https://4programmers.net/Forum/Tag/php

0

To chyba zaczynam rozumieć. Czy możesz potwierdzić, że Ty proponujesz filtrowanie po wszystkich tagach – tych, której ja dodałem, i tych, które nie ja dodałem? Jeśli tak, to by wychodziło, że te dwie funkcjonalności nie są ortogonalne – bo filtrowanie po "moich tagach" zawiera się, przynajmniej koncepcyjnie, w filtrowaniu po wszystkich.

1

A jakby tak zrobić nową podkategorię w Coyote, w której obaj użytkownicy tagów na 4p będą mogli dyskutować na te tematy?

2

@superdurszlak: powiem Ci że już od dawna chodzi mi pomysł zmiany systemu filtrowania na forum oraz mikroblogach. To obejmowałoby również to nieszczęsne filtrowanie po wątkach założonych przez danego usera (tej funkcji wciąż brakuje a chyba jest pożądana). Myślałem aby samo filtrowanie obsłużyć w Elasticsearch. W Postgres czasem są problemy z wydajnością pewnych zapytań. Nie jest to oczywiście wina samego postgresa, ale w przypadku sporej ilości danych, wielu łączeniach czasem ciężko jest osiągnąć satysfakcjonujący czas wykonania zapytania.

Z drugiej strony elasticsearch też ma pewne ograniczenia, np. związane ze stronnicowaniem...

PS. Zadanie filtrowania (póki co na mikroblogach) jest na liście: https://github.com/adam-boduch/coyote/issues/565

1 użytkowników online, w tym zalogowanych: 0, gości: 1