• Nie działa wyszukiwanie użytkowników po lokalizacji gdy polskie znaki

Forum rules:Click here to view the forum rules

1. W tym dziale dozwolone jest wyłącznie zgłaszanie problemów, błędów czy też propozycji usprawnień, związanych bezpośrednio z forum Elvikom.
2. Zabronione jest zamieszczanie jakichkolwiek danych osobowych/firmowych, a także reklamy (w tym kryptoreklamy).
3. Piszemy poprawną polszczyzną, nie przeklinamy, nie krzyczymy.

#1 Nie działa wyszukiwanie użytkowników po lokalizacji gdy polskie znaki


by clops35 21 July 2022, 17:35
Witam,
dzisiaj ktoś chciał mnie wyszukać na forum po lokalizacji i powiedział mi że nie ma nikogo z Jędrzejowa.
Więc sprawdzam i faktycznie jeżeli są polskie znaki w nazwie miejscowości skrypt szuka czegoś takiego jak na zdjęciu i w konsekwencji nie znajduje.
Image
Jak wpisałem Częstochowa, Kraków, Końskie też nie wyszukuje, a jeśli nie ma w nazwie polskich znaków wyszukuje wszystko jeśli tylko jest.
Czy jest możliwość naprawienia tego?
Dzięki :)

Re: Nie działa wyszukiwanie użytkowników po lokalizacji gdy polskie znaki


by Google Adsense [BOT] 21 July 2022, 17:35

#2 Re: Nie działa wyszukiwanie użytkowników po lokalizacji gdy polskie znaki


by Vogelek23 21 July 2022, 22:10
Problem potwierdzony. Na chwilę obecną szukam przyczyn takiego zachowania się skryptu. Kod phpBB natywnie nie wspiera szukania użytkowników po lokalizacji - w podstawowym skrypcie nie ma w ogóle takiej opcji.

#3 Re: Nie działa wyszukiwanie użytkowników po lokalizacji gdy polskie znaki


by Vogelek23 21 July 2022, 23:36
ZROBIONE. Pole wyszukiwania po lokalizacji jest "case insensitive" - wielkość liter nie jest rozróżniana, jak widać na obrazku poniżej:
Image

Dodatkowo, to pole wyszukuje wszystkie wystąpienia wpisanej frazy - jeśli np. ktoś wpisał sobie lokalizację "Kraków/Tarnów", to skrypt wyświetli tego użytkownika podczas szukania którejkolwiek z tych lokalizacji, co widać na obrazku poniżej:
Image

UWAGA! W przypadku miejscowości, które zawierają w sobie nazwy innych miejscowości, wyszukiwanie tych krótszych nazw da także wyniki z nazwami dłuższymi - np. wpisanie frazy "Raków" spowoduje wyświetlenie dodatkowo użytkowników z Krakowa. Takoż samo wyszukanie frazy "Brzesko" wyświetli dodatkowo użytkowników z Nowego Brzeska. Fraza "Brzeg" da nam dodatkowo wyniki: Tarnobrzeg, Kołobrzeg, Brzeg Dolny itd. Poważnie zastanawiam się jednak nad tym, czy nie ograniczyć wyników wyszukiwania do fraz dokładnych, bo jak ktoś szuka osoby z Rakowa, to ma do przejrzenia długą listę osób z Krakowa i po minucie czy dwóch okazuje się, że z Rakowa nie ma nikogo. Tutaj prosiłbym o sugestie.

Jak zawsze, proszę także o testy i komentarz zwrotny.

#4 Re: Nie działa wyszukiwanie użytkowników po lokalizacji gdy polskie znaki


by clops35 22 July 2022, 08:21
Przeprowadziłem szybkie testy.
Moim zdaniem jest ekstra.
Jeśli zaś chodzi o wyszukiwanie fraz dokładnych to myślę że nie ma co kombinować, nie jest dużo gdyż wpisując Kraków są tylko 32 wyniki wyszukiwania które mieszczą się na jednej stronie (no chyba że jest jakiś błąd i tylko mnie tak wyświetla).
Image
Bardzo podobnie dzieje się gdy szukamy innych miejscowości, nie ma tego zbyt dużo.
Problemem byłoby gdyby wszyscy aktywni użytkownicy dodali lokalizację bo to ponad 17k , ale na chwilę obecną myślę że jest super.
Dzięki

#5 Re: Nie działa wyszukiwanie użytkowników po lokalizacji gdy polskie znaki


by Vogelek23 22 July 2022, 12:41
Sprawdziłem przy okazji wyszukiwanie lokalizacji, pisanej innymi znakami - wyszukiwarka poprawnie odnajduje takie frazy jak: "Украина", "Львов", "Türkiye", "São José" i tak dalej. Zatem można zamknąć wątek. Autora zgłoszenia nagradzam skromnym bonusem punktowym.

#6 Re: Nie działa wyszukiwanie użytkowników po lokalizacji gdy polskie znaki


by Vogelek23 22 July 2022, 21:09
AKTUALIZACJA!

Wyszukiwanie użytkowników po lokalizacji zostało zmienione w ten sposób, że:
  • pole lokalizacji akceptuje od teraz gwiazdkę (*), zastępującą dowolny znak lub ciąg znaków; możemy więc wpisać tak:
    1. *brzeg - to da nam przykładowe wyniki: Kołobrzeg, Tarnobrzeg, Kraków/Tarnobrzeg...
    2. *brzeg* - to da nam przykładowe wyniki: Kołobrzeg, Tarnobrzeg, Brzeg, Brzeg Dolny, Kraków/Tarnobrzeg, Tarnobrzeg/Warszawa...
    3. brzeg* - to da nam przykładowe wyniki: Brzeg, Brzeg Dolny, Brzeg Dolny (PL)...
  • wpisanie lokalizacji bez gwiazdek spowoduje wyszukanie frazy dokładnie tak, jak została wpisana, czyli wpisanie frazy "Koło" wyświetli użytkowników z Koła, ale nie wyświetli nikogo z Kołobrzegu
  • wpisanie w pole lokalizacji znaków specjalnych (np. przecinka, nawiasów i innych, z pominięciem gwiazdki oraz myślnika, który występuje w niektórych nazwach miejscowości) spowoduje wyczyszczenie ich po wysłaniu formularza; jeśli wpiszemy np. frazę "[(Kra?!?ków)]", to wynikiem takiego zapytania będzie po prostu "Kraków"

Oczywiście pole lokalizacji nadal akceptuje każdy rodzaj liter, charakterystycznych dla danego języka (włączając w to cyrylicę czy znaki azjatyckie).

Wątek pozostawiam otwarty na jakiś czas, abyście mogli zgłaszać w nim ewentualne problemy przy wyszukiwaniu bądź dodawali własne sugestie. Osobiście myślę, że takie ustawienie pola lokalizacji jest najbardziej optymalne i pozwala na większą kontrolę tego, co i jak chcemy wyszukać - jak wspomniałem, wpisanie przykładowej frazy "raków" i otrzymanie wyników typu "Kraków" czy "Sieraków" nie do końca mi pasowało, dlatego wdrożyłem powyższe zmiany.

#7 Re: Nie działa wyszukiwanie użytkowników po lokalizacji gdy polskie znaki


by clops35 24 August 2022, 14:47
Moim zdaniem jest super.
Myślę że można zamknąć wątek.
Jeszcze raz dziękuję.

Re: Nie działa wyszukiwanie użytkowników po lokalizacji gdy polskie znaki


by Google Adsense [BOT] 24 August 2022, 14:47

Who is online

Users browsing this forum: No registered users and 0 guests

_______________________________
All rights reserved. Unauthorised copying of this website's content or any of its part is strictly forbidden.
Any trademarks, brand names, products or services published on this website belong to their legal owners, are copyrighted and used for information purposes only.