mojaSymfonia FORUM
https://forum.mix-soft.pl/

Jak rozwiązać problem z wolnym wyszukiwaniem po nazwie?
https://forum.mix-soft.pl/viewtopic.php?f=16&t=7899
Strona 1 z 1

Autor:  LION-ALMIGHTY [ 2017-05-05, 18:51 ]
Tytuł:  Jak rozwiązać problem z wolnym wyszukiwaniem po nazwie?

Witam forumowiczów :)

Zwracam się do Was z prośbą o nakierowanie mnie na rozwiązanie problemu dotyczącego wolnego wyszukiwania po nazwie produktu.

Na czym polega problem?
Kiedy wyszukuję po kodzie produktu (pełnym kodzie), to wyszukiwanie zajmuje do 5 sekund. Maksymalnie.
Z kolei kiedy użyję wyszukiwania po nazwie (na przykład *NazwaTowaru*), to wyszukiwanie potrafi zająć nawet 2 minuty (!).

Początkowo przekonany byłem, że jest to związane z duża ilością wyników, które pasują do zapytania.
Utworzyłem na próbę jeden towar, który ma unikatową nazwę. Problem występuje dalej.

Ostatecznie obstawiłem:
- dużą ilość pozycji do przeszukania
- słabą sieć
- wyeksploatowany sprzęt (komputer pracujący jako serwer)
- zbyt dużą (obciążającą) ilość klientów podłączonych do serwera.

Konfiguracja:

- Symfonia w wersji 2015
- Serwer: MS Windows Server 2008 (Pentium + 2GB RAM + HDD 500GB) + PERVASIVE 11
- Końcówki: MS Windows 7 (Core 2 Duo 3GHz + 4GB RAM) + PERVASIVE
- Sieć: HP PRO CURVE (dosyć stary model)

Wszystkie komputery po kablu.
Jeżeli potrzeba więcej informacji, to proszę o odpowiedź.

Autor:  rafal [ 2017-05-05, 21:47 ]
Tytuł:  Re: Jak rozwiązać problem z wolnym wyszukiwaniem po nazwie?

Ten sam efekt długiego czasu wyszukiwania będziesz miał także na kodzie jak użyjesz gwiazdek.

Użycie gwiazdek z przodu powoduje szukanie po wszystkich pozycjach a nie po indeksie.

Dodatkowym obciążeniem może być fakt, że długie nazwy (powyżej 40 znaków) przechowywane są w dodatkowej tabeli w polu typu LONGVARCHAR.

Używaj krótkich nazw, szukaj Nazwa* zamiast *Nazwa*

Autor:  LION-ALMIGHTY [ 2017-05-06, 12:20 ]
Tytuł:  Re: Jak rozwiązać problem z wolnym wyszukiwaniem po nazwie?

Dziękuję Ci za odpowiedź, Rafał.

Przeprowadziłem próbę wyszukiwania z zastosowaniem Twoich wskazówek i zauważyłem natychmiastową poprawę.
Czas skrócił się w zasadzie do mrugnięcia okiem.

Występuje oczywiście jeden problem, który, jak mniemam, związany jest z beznadziejnie prowadzoną przez nas bazą towarów.
Mianowicie wyszukiwanie według Twoich wskazówek działa tylko wtedy, gdy wyraz poprzedzający znak gwiazdki jest pierwszym wyrazem w nazwie towaru.

Przykład:

Szukam towarów, które w nazwie mają wyrazy WODA oraz GAZOWANA.
Wpisuję (woda*) i natychmiastowo pokazują mi się wyniki, ale tylko te, które zaczynają się od WODA.
Przykładowo WODA GAZOWA KOLOROWA, WODA GAZOWANA NIEBIESKA.

Jednak towar o nazwie KOLOROWA WODA GAZOWANA już się nie pojawia.

Czy w takiej sytuacji zmuszony jestem każdorazowo korzystać z gwiazdki przed i po wyszukiwanym wyrazie?
Wybacz, proszę, moje tłumaczenie problemu, ale staram się jak mogę :)

Dziękuję za uwagę i pozdrawiam!

Autor:  rafal [ 2017-05-07, 10:56 ]
Tytuł:  Re: Jak rozwiązać problem z wolnym wyszukiwaniem po nazwie?

Jeżeli bardzo zależy Ci na wyszukiwaniu można zbudować własne indeksy występowania poszczególnych wyrazów w nazwie.
Wtedy wyszukiwanie odbywa się po całych wyrazach i nie jest ważna kolejność występowania w nazwie.

Autor:  LION-ALMIGHTY [ 2017-05-07, 18:26 ]
Tytuł:  Re: Jak rozwiązać problem z wolnym wyszukiwaniem po nazwie?

Czy budowanie takiego indeksu wymaga głębszego sięgania do bazy danych firmy?
A może łatwiejszym rozwiązaniem będzie uporządkowanie bazy towarów i nadanie poszczególnym pozycjom poprawnych nazw?

Autor:  rafal [ 2017-05-07, 20:20 ]
Tytuł:  Re: Jak rozwiązać problem z wolnym wyszukiwaniem po nazwie?

Tak łatwiej będzie uporządkować nazwy.

Tak, budowanie nowego indeksu to większa robota

Autor:  LION-ALMIGHTY [ 2017-05-18, 12:45 ]
Tytuł:  Re: Jak rozwiązać problem z wolnym wyszukiwaniem po nazwie?

Dziękuję bardzo za udzielone odpowiedzi. Bardzo mi pomogłeś.

Pozdrawiam serdecznie.

Autor:  kat [ 2017-07-04, 13:57 ]
Tytuł:  Re: Jak rozwiązać problem z wolnym wyszukiwaniem po nazwie?

Cześć Rafał. Mam pytanie, czy adres podany w Twojej stopce to adres bezpośrednio do Ciebie?
Mam klienta który ma podobny problem, interesowałoby go zoptymalizowanie wyszukiwania po kodach (KH i TW), może miałbyś chęć przejąć temat?

Autor:  rafal [ 2017-07-04, 14:09 ]
Tytuł:  Re: Jak rozwiązać problem z wolnym wyszukiwaniem po nazwie?

Adres ze stopki odbierany jest przez dział techniczny.
W zależności od tematu wiadomość trafia do osób kompetentnych w danej dziedzinie (do mnie także).

Śmiało pisz (możesz dopisać że do mnie).

Strona 1 z 1 Strefa czasowa UTC+1godz. [letni]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/