Solr Fuzzy Suggester und Solr Infix Suggester über Ajax

За ефикасну претрагу на веб-сајту важно је да корисници брзо и једноставно пронађу одговарајуће резултате. Solr Fuzzy Suggester и Solr Infix Suggester нуде ефикасно рјешење за то. Они се могу позивати и филтрирати преко Ajax упита.
Objavljeno:
Ажурирано:
Admin User
published
Solr Fuzzy Suggester und Solr Infix Suggester über Ajax

Опис пројекта

За ефикасну претрагу на веб-сајту важно је да корисници брзо и једноставно пронађу одговарајуће резултате. Solr Fuzzy Suggester и Solr Infix Suggester нуде ефикасно рјешење за то. Они се могу позивати и филтрирати преко Ajax упита.

Активирање suggester-а врши се преко XML компоненте SuggestComponent у датотеци solrconfig.xml, као што показује сљедећи примјер кода:

<searchComponent name="suggest" class="solr.SuggestComponent">
  <lst name="suggester">
    <str name="name">mySuggester</str>
    <str name="lookupImpl">FuzzyLookupFactory</str>
    <str name="dictionaryImpl">DocumentDictionaryFactory</str>
    <str name="field">suggest_field</str>
    <str name="weightField">weight</str>
    <str name="suggestAnalyzerFieldType">text_general</str>
    <str name="buildOnStartup">true</str>
  </lst>
</searchComponent>

Коришћењем Solr Fuzzy Suggester и Solr Infix Suggester-а, корисници могу брзо и једноставно добити релевантне резултате, јер добијају приједлоге и функције аутоматског довршавања. Резултати упита се затим могу филтрирати како би се осигурало да се приказују само најрелевантнији резултати.

Примјеном ових технологија веб-сајтови могу понудити побољшану функционалност претраге и боље корисничко искуство.

Примјер конфигурације (Syntax Highlighter)

<searchComponent name="suggest" class="solr.SuggestComponent">
  <lst name="suggester">
    <str name="name">mySuggester</str>
    <str name="lookupImpl">FuzzyLookupFactory</str>
    <str name="dictionaryImpl">DocumentDictionaryFactory</str>
    <str name="field">cat</str>
    <str name="weightField">price</str>
    <str name="suggestAnalyzerFieldType">string</str>
    <str name="buildOnStartup">false</str>
  </lst>
</searchComponent>

Слика показује шта suggester ради: унос не даје тачан погодак, а Solr Suggester враћа сличне приједлоге. Постоји више начина да се одреди сличност ниски (string). Овдје ћу поменути два.

1) Fuzzy (Левенштајн/Levenshtein дистанца)

Прва могућност је fuzzy, који се заснива на алгоритму Левенштајнове дистанце (Levenshtein distance).

У JavaScript-у би то изгледало овако:

function levenshtein(a, b) {
  var t = [], u, i, j, m = a.length, n = b.length;
  if (!m) { return n; }
  if (!n) { return m; }
  for (j = 0; j <= n; j++) { t[j] = j; }
  for (i = 1; i <= m; i++) {
    for (u = [i], j = 1; j <= n; j++) {
      u[j] = a[i - 1] === b[j - 1] ? t[j - 1] : Math.min(t[j - 1], t[j], u[j - 1]) + 1;
    } t = u;
  } return u[n];
}
// a и b су ниске (strings)

2) Infix (префикс-подударања и Lucene индекс)

Друга могућност је infix, који се заснива на префикс-подударањима са токенима у индексираном тексту. За свој рјечник користи Lucene индекс. Lucene је библиотека за претрагу пуним текстом (Apache Software Foundation) која садржи open-source програмске библиотеке.

У пракси, то је индексирана структура која током обраде креира токене. Размаци могу означавати крај или почетак ниске. Појединачне ниске се нормализују ради бољих погодака — на примјер, претварање великих слова у мала — а индексирају се и више повезаних варијанти из рјечника.

Предност је у опциjама које се могу дефинисати у упиту (query), што даје већу флексибилност.

Шта раде комерцијалне претраживачке машине?

Комбинација оба приступа је у суштини оно што већина претраживача нуди. При уносу у поље за претрагу, предлажу се појединачне ниске у контексту других ниски и појмова. Тако се добија семантичка претрага.

Код великих провајдера претраге ови резултати су комерцијално подешени и усмјеравају кориснике ка приоритетним индексима. Странице се сортирају и категоришу преко правила и смјерница. Интересне групе се одређују преко технологија праћења (tracking), AI алгоритама и database marketing-а, а претрага се прилагођава циљној групи.

Related Projects

Izvor istine Platforma za preduzetničku inteligenciju

Izvor istine Platforma za preduzetničku inteligenciju

Samostalno hostovana platforma za poslovnu inteligenciju vođena dokazima koja pretvara interno znanje kompanije, dokumente i poslovne podatke u sledljivu inteligenciju za istraživanje, odlučivanje, praćenje i kontrolisano izvršavanje AI-ja.

Kreiranje mobilnih aplikacija sa Apache Cordova: Višeplatformska studija slučaja

Kreiranje mobilnih aplikacija sa Apache Cordova: Višeplatformska studija slučaja

Istražite kako Apache Cordova transformiše veb aplikacije u višeplatformska mobilna rešenja za Android, iOS i još mnogo toga, sa detaljnim procesom, tehnološkim skupom i prednostima.

Od sirovih podataka do proverljivog AI konteksta: Praktična arhitektura za informacije spremne za agente

Od sirovih podataka do proverljivog AI konteksta: Praktična arhitektura za informacije spremne za agente

AI sistemi uglavnom ne zakažu zato što im nedostaje više teksta. Oni zakažu zato što identitet, poreklo, konflikti, nepoznanice i validnost često nedostaju u kontekstu koji dobijaju. Ovaj članak dokumentuje praktičnu arhitekturu za pretvaranje heterogenih poslovnih podataka u kontrolisane, višekratno upotrebljive informacione objekte za ljude, aplikacije i agente.

Od vizije do vrednosti: Maksimizovanje POS ROI-ja kroz dosledno kreiranje CI-ja i strateško brendiranje

Od vizije do vrednosti: Maksimizovanje POS ROI-ja kroz dosledno kreiranje CI-ja i strateško brendiranje

U savremenoj maloprodaji, premošćivanje jaza između kreativne vizije i finansijske vrednosti zahteva usklađivanje korporativnog identiteta (CI) sa prodajnim mestom (POS). Ova studija slučaja istražuje okvir za eliminisanje kognitivnog trenja radi poboljšanja ROI-ja.

Presence Platforms — Korporativna komunikacija koja pobeđuje bez nadmetanja

Presence Platforms — Korporativna komunikacija koja pobeđuje bez nadmetanja

Platforma prisustva pretvara operacije u jasnoću na nivou donošenja odluka: upravljane tvrdnje, ponovljivi formati, interno povezivanje koje usmerava odluke i nedeljni ciklus učenja koji uvećava poverenje i prodajni levak.

Локални корени, глобални домети — Комуникациони и медијски системи за савремено пословање

Локални корени, глобални домети — Комуникациони и медијски системи за савремено пословање

Pomažem lokalnim preduzećima da se predstave kao globalni brendovi: jasno pozicioniranje, sadržaj visokog kvaliteta i distribucija koja pretvara pažnju u potencijalne klijente.

SEO Mobilna veb aplikacija Minhen

SEO Mobilna veb aplikacija Minhen

SEO za mobilne veb aplikacije u Minhenu: čista indeksacija, Analitika, strukturisane sitemape i optimizacija za Google vesti kao solidan temelj za održivu vidljivost.

Дигитални портал за архиву музеј и библиотеку

Дигитални портал за архиву музеј и библиотеку

Дигитални Музеј се бави дигитализацијом и научним радом колекција, објеката, архива, библиотека и музеја.

Od globalnog biznisa do kuhinje — Enterprise Media OS koji se smireno skalira (stajic.de + Showcase portali)

Od globalnog biznisa do kuhinje — Enterprise Media OS koji se smireno skalira (stajic.de + Showcase portali)

Globalna strategija funkcioniše samo ako preživi kuhinju: ograničenja, ritam, jasnoća i merljiv učinak. Evo kako Enterprise Media OS pretvara tržišnu buku u ponovljive sisteme — uz figure.rocks i loving.rocks kao showcase implementacije.

Studija slučaja LibreOffice ChatGPT makro integracije

Studija slučaja LibreOffice ChatGPT makro integracije

Istražite prilagođenu Python OpenAI makro integraciju za ChatGPT u LibreOffice-u, unapređujući radne procese uz pomoć veštačke inteligencije direktno u vašim dokumentima.

Korporativna proizvodna platforma

Korporativna proizvodna platforma

Platforma za CMS i portale korporativnog nivoa sa višebaznom arhitekturom, pravom višejezičnošću i profesionalnom migracijom WordPress-a. Razvijena za skalabilne, bezbedne i sisteme za objavljivanje otporne na budućnost.

Od globalnog poslovanja do kuhinje — sistem reverzne komunikacije koji i dalje skalira

Od globalnog poslovanja do kuhinje — sistem reverzne komunikacije koji i dalje skalira

Prestanite sa skaliranjem na osnovu buke. Počnite od globalnih signala, svedite ih na nekoliko stabilnih istina i pretvorite ih u nedeljne šablone, kontrolne liste i ponovljive “menije” koji isporučuju stvarnu vrednost.