Søkefunksjon ============ Søk rutes til django-appen som ligger i ``src/search``. Vi har lagt til Wagtails PostgreSQL-søkebackend for å få bedre søkeresultat. Wagtails generelle database-søkebackend, som brukes som default, lar oss kun søke i sidens tittel. Installasjon og konfigurasjon ----------------------------- Søkebackenden er lagt til i ``INSTALLED_APPS`` i ``settings.py``: :: INSTALLED_APPS = [ ... 'wagtail.contrib.postgres_search', ... ] og satt til å være default søkemotor, samt bruke norske regler for søk: :: WAGTAILSEARCH_BACKENDS = { 'default': { 'BACKEND': 'wagtail.contrib.postgres_search.backend', 'SEARCH_CONFIG': 'norwegian', }, } Norske søkeregler gjør at man kan søke på "figuren" og få treff på sider som kun inneholder "figur" og omvendt. Hvilke språk som støttes i PostgreSQL vises ved å kjøre ``\dF`` i SQL-skallet: :: $ psql -c "\dF" List of text search configurations Schema | Name | Description ------------+------------+--------------------------------------- pg_catalog | danish | configuration for danish language pg_catalog | dutch | configuration for dutch language pg_catalog | english | configuration for english language pg_catalog | finnish | configuration for finnish language pg_catalog | french | configuration for french language pg_catalog | german | configuration for german language pg_catalog | hungarian | configuration for hungarian language pg_catalog | italian | configuration for italian language pg_catalog | norwegian | configuration for norwegian language pg_catalog | portuguese | configuration for portuguese language pg_catalog | romanian | configuration for romanian language pg_catalog | russian | configuration for russian language pg_catalog | simple | simple configuration pg_catalog | spanish | configuration for spanish language pg_catalog | swedish | configuration for swedish language pg_catalog | turkish | configuration for turkish language (16 rows) Se `Wagtail-dokumentasjonen `_ for mer informasjon. Utseende -------- Templaten for søkeresultatsiden er endret til å arve fra ``base_with_nav.html`` slik at den har samme utseende som en vanlig artikkel (navigasjonsmeny etc.). Sammen med søkeresultatet viser vi også antall søketreff. Andre tilpasninger ------------------ Fordi vi vil ha muligheten til å hoste flere nettsteder i samme Wagtail-installasjon, er søkealgoritmen endret til å kun gi treff i artikler som hører til samme nettsted som man gjør søket fra. Detaljer i changeset ``c25731b21194``. Wagtail krasjer når søkestrengen består av kun et eller flere mellomrom. For å omgå denne bugen fjerner vi mellomrom fra endene av søkestrengen før søk. Se changeset ``8fe33ef25f49``.