15-03-2018, 15:10
Autor dla wyszukiwania bezpośrednio w bazie podaje poniższy przykład:
Próbując znaleźć ulicę po kawałku frazy nie otrzymamy wyniku np. 'Kochan' (w przypadku konfiguracji wyszukiwania w zakładce "project search" wystarczy kawałek frazy).
Chyba niefortunnie autor użył ciągu zawierający znak procenta %(search)s jako elementu do podstawienia (być może związane jest to ze składnią samego języka python).
Próba złożenia zapytania do wyszukiwania po kawałku np. WHERE nazwa LIKE 'Kochan%' plus warunek wykorzystania %(search)s niestety przynosi tylko błędy.
Czy wie ktoś jak rozwiązać ten problem?
Dodatkowo sam mechanizm nie uwzględnia wielkości znaków przy wyszukiwaniu ale z tym można sobie poradzić.
Kod:
SELECT textfield, ST_AsBinary(wkb_geometry)::geometry
FROM searchtable
WHERE textfield LIKE %(search)s
LIMIT %(limit)s
Próbując znaleźć ulicę po kawałku frazy nie otrzymamy wyniku np. 'Kochan' (w przypadku konfiguracji wyszukiwania w zakładce "project search" wystarczy kawałek frazy).
Chyba niefortunnie autor użył ciągu zawierający znak procenta %(search)s jako elementu do podstawienia (być może związane jest to ze składnią samego języka python).
Próba złożenia zapytania do wyszukiwania po kawałku np. WHERE nazwa LIKE 'Kochan%' plus warunek wykorzystania %(search)s niestety przynosi tylko błędy.
Czy wie ktoś jak rozwiązać ten problem?
Dodatkowo sam mechanizm nie uwzględnia wielkości znaków przy wyszukiwaniu ale z tym można sobie poradzić.
Kod:
SELECT
nazwa,
ST_AsBinary(geom)::geometry
FROM emuia_ulice
WHERE lower(nazwa) LIKE lower(%(search)s) LIMIT %(limit)s