To co mi sie rzuciło na pierwszy rzut oka to brak sortowania wyników po dacie: wpisując proste webbrowser dostałem 851 postów jako wynik, gdzie na pierwszym miejscu był post z 2004 roku (najnowszy w znalezionych jest z 2012). Przydałoby się chyba również możliwość posortowania tych wyników wg ocen postów skoro są one wyświetlane i ilości postów w danym wątku (ilość postów jest jednak pewnym wskaźnikiem tego jak na ten temat odpowiadano)
Budowanie wyszukiwarki - po raz kolejny
- Rejestracja: dni
- Ostatnio: dni
- Rejestracja: dni
- Ostatnio: dni
Hmmm,
wpisałem autora postu: madmike
zaznaczyłem Tylko wątki, których autor jest założycielem
i znalazł mi wszystkie wątki, w których brałem udział, a nie te które rozpocząłem...
- Rejestracja: dni
- Ostatnio: dni
Wpisanie kombinacji w stylu Adam * - chodzi o tą gwiazdkę - daje wszystko co się da w wynikach pogrubione:

Rozumiem, że gwiazdka to jest all, ale bez przesady ;)
to pogrubienie wyłazi, kiedy chcę np. znaleźć wszystkie wątki z jakimś tagiem, wpisanie samego tagu np. python czy zaznaczenie w checkbox'ach szukaj w tagach nic nie wyszukuje - dopiero wpisanie czegoś tam w pole "wszystkie słowa" zaczyna wyszukiwanie - czyli jeśli chcę znaleźć wszystkie z tagiem python muszę użyć gwiazdki - a to daje wszystkie wyniki pogrubione...
Ogólnie wyszukiwarka pomijając drobiazgi na duży plus :P
- Rejestracja: dni
- Ostatnio: dni
- Postów: 11950
@madmike: domyslnie, posty sa sortowane wedlug trafnosci wyszukiwania. Jest to dosc zaawansowany algorytm, ktory sprawdza, czestotliwosc wystepowania szukanych slow, ich bliskosc siebie, a przede wszystkim, ich wystepowanie w poszczegolnych polach (czyli wystapienie slowa w tytule watku jest np. wazniejsze niz w komentarzu - mozna tym sterowac w formularzu wyszukiwania zaawansowanego). Niemniej jednak dodalem sortowanie po dacie napisania.
Udostepnilem mozliwosc wyswietlenia postow, ktore zawieraja dany tag, czyli nie trzeba podawac slow kluczowych. A operator * mozna stosowac, aby wyszukac rozne odmiany slowa, czyli wpisujac adam* znajdzie posty zawierajace adam, adama, adamowego itp ;)
- Rejestracja: dni
- Ostatnio: dni
Adam Boduch napisał(a)
@madmike: domyslnie, posty sa sortowane wedlug trafnosci wyszukiwania. Jest to dosc zaawansowany algorytm, ktory sprawdza...
Ja sobie doskonale zdaję z tego sprawę, ale to tylko algorytm - w przypadku webbrowsera znalazł mi na pierwszym miejscu najmniej przydatny post ;)
Nie mam w żadnym razie na myśli, że to jest źle, tylko że możliwość sortowania wyników po innych parametrach czasem może dać lepsze wyniki:
- po ocenach - no cóż, oceny powinny same za siebie mówić
- po 'ptaszka' - problem rozwiązany, więc w tych wynikach przeglądam
- po dacie - jakby nie było, to dzisiejsza aktywność na forum jest jednak kilka razy większa niż kiedyś, więc znalezienie rozwiązania w tych będzie bardziej prawdopodobne
- po ilości postów - no cóż, im więcej postów, tym większa szansa na znalezienie rozwiązania
To nie jakiś bajer, ale po prostu możliwość 'naprostowania' algorytmu...
Teraz tak... 90% wyszukiwania na forum będzie z pola szukaj bez zaglądania nawet do "szukania zaawansowanego" - więc może możliwość sortowania wyników mogłaby być bardziej dostępna - coś w rodzaju tego co mamy na forum? czyli kliknięcie na kolumnie? albo jakieś combo widoczne nad wynikami?
Ja wiem, czepiam się :P
- Rejestracja: dni
- Ostatnio: dni
- Postów: 11950
Poki co nie ma mozliwosci sortowania po ilosci postow, ilosci ocen poniewaz te dane nie sa przechowywane w indeksie solr :(
Zgadzam sie, ze wyszukiwanie zaawansowane to bedzie tylko 10% ogolu wyszukiwan. Postaram sie uwzglednic w procesie sortowania wynikow, rowniez inne parametry, oprocz samej trafnosci.
- Rejestracja: dni
- Ostatnio: dni
I oczywiście znowu się czepiam... ;) W tej chwili formularz wyszukiwania zaawansowanego zrobił się strasznie rozwlekły i wymaga przewijania. Może dałoby się podzielić tę stronę na dwie kolumny
po lewej - zawierająca pola do wpisywania pola tekstowe
po prawej - od kategorii po sam dół
nawet kosztem zmiejszenia pól, czy też łamania opisów pod polami...
- Rejestracja: dni
- Ostatnio: dni
- Lokalizacja: Wrocław
@madmike ma rację.
Fraza: "więzienie za kradzież filmu z internetu"
Strona wyników: http://4programmers.net/Forum/Szukaj?q=wi%C4%99zienie+za+kradzie%C5%BC+film%C3%B3w+z+internetu
Jedyny post: http://4programmers.net/Forum/Flame/182084-wiezienie_za_kradziez_filmow_z_internetu?p=754787#id754787
To na pewno tak miało działać?
- Rejestracja: dni
- Ostatnio: dni
- Postów: 11950
Domyslnie zwraca wyniki, ktore zawieraja wszystkie szukane slowa. A wyniki, czyli posty, sa pogrupowane wg. ID watku.
- Rejestracja: dni
- Ostatnio: dni
A co z wyszukiwaniem całych wątków (a nie tylko konkretnych postów)? Jest szansa na taki mechanizm?
- Rejestracja: dni
- Ostatnio: dni
- Postów: 11950
Hmm nie bardzo rozumiem, co masz na mysli.
- Rejestracja: dni
- Ostatnio: dni
Chodzi mi wyszukiwanie per wątek, nie per post. Czyli np. wpisujemy szukane słowa, wybieramy tryb "wątki" i w wynikach pojawia się lista wątków zawierających dane słowa.
//EDIT
Chodzi o to aby zignorować podział na posty i traktować wątki jako jeden element.
- Rejestracja: dni
- Ostatnio: dni
- Postów: 11950
Obecny system wyszukiwania nie rozni sie za wiele od poprzedniego, tzn. idea pozostala taka sama. Wyszukiwarka szuka w tresci postow, w tytule, tagach, komentarzach itp. Zmienil sie jedynie sposob prezentacji wynikow wyszukiwania. Obecnie bowiem wyswietlane sa fragmenty postow zawierajacych szukane slowo kluczowe, a poprzednio wyswietlany byl jedynie tytul danego watku.
- Rejestracja: dni
- Ostatnio: dni
Brakuje mi właśnie wyszukiwania per cały wątek.
Obecnie jest trochę ... dziwnie. Dla przykładu jeśli wyszukujemy kilka słów (w trybie "wszystkie słowa") to silnik wyszukuje wątki, które zawierają post, w którym występują wszystkie słowa. Zasada jest takim jakby miksem wyszukiwania postów i wyszukiwania wątków:
- jeśli słowa są w tym samym wątku, ale rozstrzelone po różnych postach to nie dostaniemy wyniku
- jeśli zestaw słów powtarzają się w różnych postach to dostaniemy tylko jeden wynik
Wydaje mi się, że należałoby wyodrębnić dwie metody wyszukiwani - jedna względem postów, druga względem wątków.
Wątki:
- ignorujemy podział na posty
- jeśli słowa są w tym samym wątku, ale rozstrzelone po różnych postach to wątek pojawi się w wynikach
- jeśli zestaw słów powtarzają się w różnych postach to w wyniku otrzymujemy tylko jeden wątek
- w tym trybie wystarczyłoby wyświetlanie samych tematów, bez treści
Posty: - ignorujemy przynależność postów do wątków
- jeśli słowa są w tym samym wątku, ale rozstrzelone po różnych postach to nie dostaniemy wyniku
- jeśli zestaw słów powtarzają się w różnych postach to w wyniku otrzymujemy wszystkie takie posty mimo iż są w tym samym wątku
- tutaj sensowne jest wyświetlanie treści
- Rejestracja: dni
- Ostatnio: dni
- Postów: 11950
Nadal nie rozumiesz, ze wczesniej bylo tak samo :) Od tego, co jest teraz, wystarczy odjac podglad posta i otrzymamy rezultat taki jaki byl poprzednio. Nie bylo i nie ma "wyszukiwania per watek". Poprzednio, tak jak i teraz wyszukiwanie odbywalo sie bardzo podobnie, z tym, ze nie bylo podgladu danej wiadomosci.
Aby lepiej to wyjasnic zaprezentuje, napisze jak dane trzymane sa w indeksie wyszukiwarki. Kazdy post to rekord na ktory sklada sie:
- temat, czyli tytul watku do ktorego przynalezy dany post
- tresc posta
- autor posta
- komentarze przypisane do posta
(pomijam tutaj pozostale, nieistotne w tym momencie pola)
W formularzu wyszukiwania zaawansowanego, mozesz okreslic po jakich polach ma sie odbyc wyszukiwanie (tytul, tresc, komentarze, tag) oraz jaki priorytet ma miec wystapienie danego slowa, w okreslonym polu. Jezeli wiec wpisalbys w wyszukiwarce budowanie wyszukiwarki Solr (bo taki silnik wyszukiwania stosujemy) zwroci 40 rekordow (postow) poniewaz te slowa kluczowe wystepuja w tytulach 40 postow. Tym sposobem, wyswietlonych zostaloby az 40 wynikow (postow) nalezacych do tego samego watku. Stad postanowilem grupowac te wyniki do jednego rekordu.
- Rejestracja: dni
- Ostatnio: dni
- Lokalizacja: Wrocław
Adam Boduch napisał(a)
Domyslnie zwraca wyniki, ktore zawieraja wszystkie szukane slowa. A wyniki, czyli posty, sa pogrupowane wg. ID watku.
Wpisałem "więzienie za kradzież filmów z internetu" - czyli dokładny tytuł pewnego wątku.
Wyszukiwarka znalazła jeden post, w którym jedynym słowem z szukanej frazy jest "kradzież". I naprawdę nie rozumiem dlaczego...
Z kolei, jeśli wybiorę opcję wyszukiwania dokładnie tego wyrażenia lub tylko w tytułach, to w wynikach pojawi się ten post: http://4programmers.net/Forum/Flame/182084-wiezienie_za_kradziez_filmow_z_internetu?p=766037#id766037
Dla mnie sprawia to wrażenie zachowania całkowicie losowego.
- Rejestracja: dni
- Ostatnio: dni
- Postów: 11950
Juz wyjasniam. Zaden post na forum, w tresci posta nie ma wszystkich slow ktore chcesz znalezc, czyli zarowno więzienie, kradzież, internetu. Natomiast te slowa wystepuja w tytyule ponad 100 postow, zgadza sie? Ale wszystkie te posty przynaleza do jednego watku. Stad Solr pogrupowal owe posty i wyswietlil tresc postu, ktory najbardziej wedlug niego - jest trafny. Domyslam sie, ze chodzi tutaj o wystapienie slowa kradzież na samym poczatku posta.
- Rejestracja: dni
- Ostatnio: dni
- Lokalizacja: Wrocław
Hmm... Niezbyt to używalne.
Zacznijmy może od początku - wyszukiwarka powinna mieć dwa tryby wyświetlenia wyników - jako posty i jako wątki.
- Rejestracja: dni
- Ostatnio: dni
- Postów: 11950
Moze zacznijmy od konca :D Bo to raczej nie zostanie zmienione w najblizszym czasie, zalozenie poczatkowe bylo takie aby tryb wyswietlania byl w postaci postow.
- Rejestracja: dni
- Ostatnio: dni
- Lokalizacja: Wrocław
Czyli nasza wyszukiwarka nadal będzie inna niż te na wszystkich innych forach?
- Rejestracja: dni
- Ostatnio: dni
- Postów: 11950
No w takim razie chyba tak.
Przed zmiana wyszukiwarki, byla dyskusja na temat jej ksztaltu. Trzeba bylo wowczas to zaproponowac, teraz juz jest po grzybach (jezeli chodzi o tak spora zmiane).
- Rejestracja: dni
- Ostatnio: dni
- Lokalizacja: Wrocław
[rotfl]
Proponować tak logiczną i podstawową rzecz? Nie wpadłbym nigdy, że można tego nie zrobić.
- Rejestracja: dni
- Ostatnio: dni
somekind napisał(a)
Czyli nasza wyszukiwarka nadal będzie inna niż te na wszystkich innych forach?
Nasze forum jest wybitnie odmnienne od innych, więc czemu wyszukiwarka ma być podobna... :]
Mi się podoba, oczywiście z tymi uwagami, które wypisałem ;)
- Rejestracja: dni
- Ostatnio: dni
- Postów: 11950
somekind napisał(a)
[rotfl]
Proponować tak logiczną i podstawową rzecz? Nie wpadłbym nigdy, że można tego nie zrobić.
Oj, nie kazdy jest taki bystry jak ty.
- Rejestracja: dni
- Ostatnio: dni
Tak, wiem już Adamie, że jest tak jak było.
Czasami jest tak, że pamiętamy pewne informacje o wątku, który chcemy znaleźć (padające słowa, użytkownicy, którzy się w nim udzielali itp.). Ale za cholerę nie możemy tego wątku znaleźć bo informacje te są w różnych postach. Uproszczanie zapytania nie pomaga bo wyszukiwanie staje się zbyt ogólne i dostajemy za wiele wyników.
Może kiedyś będzie kolejna przebudowa wyszukiwarki więc zostawiam sugestię na później ;)
- Rejestracja: dni
- Ostatnio: dni
- Lokalizacja: Wrocław
Adam Boduch napisał(a)
Oj, nie kazdy jest taki bystry jak ty.
To nie jest kwestia bystrości, lecz pewnych konwencji wynikających z używalności. Z tej samej przyczyny np. przycisk "zaloguj" umieszcza się w prawym, górnym rogu strony, a nie na jej środku. A argumentacja, że "nasze forum jest odmienne, więc wyszukiwarka też musi", jest naprawdę bardzo poważna i rozsądna.
Brak wyszukiwania po wątkach może nie jest może jakąś super wadą, ale jest co najmniej dziwny.
Mam nadzieję, że da się coś zrobić, aby wyszukiwarka była mniejsza, np. tak:

I przydałby się gdzieś u góry strony bezpośredni przycisk do wyszukiwarki zaawansowanej, żeby nie trzeba było iść dookoła tak jak teraz.
EDIT
Chciałbym wyszukać wszystkie posty z kategorii Coyote, w których występuje słowo "załączniki".
Wchodzę na: http://4programmers.net/Forum/Szukaj, wpisuję "załączniki" w pole "wszystkie słowa:", wybieram kategorię "Coyote", wciskam "Szukaj" i otrzymuję wynik: "0 postów dla "za łą czniki"".
Url wygląda tak: http://4programmers.net/Forum/Szukaj?q=&qaa=za%C5%82%C4%85czniki&qf=&qa=&qn=&tag=&user=&in[]=subject&in[]=text&in[]=comment&f[]=11&boost[subject]=10.0&boost[text]=5.0&boost[tag]=1.0&boost[comment]=0.8&sort=score&order=desc
Czemu tak sobie śmiesznie sylabizuje i nie może nic znaleźć?
- Rejestracja: dni
- Ostatnio: dni
Juz wyjasniam. Zaden post na forum, w tresci posta nie ma wszystkich slow ktore chcesz znalezc, czyli zarowno więzienie, kradzież, internetu. Natomiast te slowa wystepuja w tytyule ponad 100 postow, zgadza sie? Ale wszystkie te posty przynaleza do jednego watku. Stad Solr pogrupowal owe posty i wyswietlil tresc postu, ktory najbardziej wedlug niego - jest trafny. Domyslam sie, ze chodzi tutaj o wystapienie slowa kradzież na samym poczatku posta.
Czy nie uważasz, że bardziej trafny w tym wypadku byłby pierwszy post o takim tytule? Jeśli jest 100 postów o tym samym tytule, a wszystkie słowa kluczowe znajdują się w tytule, a nie znajdują się w żadnym z postów... wg mnie jest to jasny sygnał, że ktoś szuka wątku, a nie postu. W tej sytuacji pierwszy post o danym tytule zdecydowanie powinien mieć większą wagę, niż dowolny inny post, nie zawierający w treści tych wszystkich słów kluczowych.
Gorzej, gdy słowa kluczowe występują zarówno w temacie wątku, jak i w jakimś z postów w tym wątku. W tej sytuacji spodziewałabym się dwóch trafień - jednego do pierwszego posta z wątku, a drugiego do tego bardzo pasującego posta z wątku.
- Rejestracja: dni
- Ostatnio: dni
- Lokalizacja: Poznań
- przesunięcie wyników
- brak filtrowania po działach

- Rejestracja: dni
- Ostatnio: dni
Próba wyszukania postów użytkownika -123 kończy się błędem, bo Coyote (od dawna, eh) nie escapuje odpowiednio zapytań. Ten minus po prostu injectuje się w zapytanie.
Zgodnie z tym: http://wiki.apache.org/solr/SolrQuerySyntax wszystkie znaki, które mogą wpłynąć na zapytanie powinny być w formie url-encode.
- Rejestracja: dni
- Ostatnio: dni
- Postów: 11950
Powinno byc ok.
