sql >> Database teknologi >  >> RDS >> Oracle

Udvid Endecas diakritiske foldekortlægning

I den dokumentation, du leverer, står der:

Dette tyder på, at græsk ikke er understøttet, da det ikke falder ind under nogen af ​​disse tegnsæt (jeg tror, ​​græsk er Latin-7). Når det er sagt, kan du prøve at sætte et sprogflag på et rekordniveau (da du angiver, at dine data omfatter både engelsk og græsk) under forudsætning af, at hvert sprog har sin egen rekord eller prøve at implementere et globalt sprog ved hjælp af dgidx og dgraph parametre, men dette vil påvirke ting som stemming for poster eller egenskaber, der ikke er på det globale sprog.

dgidx --lang el
dgraph --lang el

Selvom jeg ikke er sikker på, at det vil fungere baseret på den oprindelige erklæring.

Alternativt kan du implementere en proces med diakritisk fjernelse ved hjælp af en tilpasset Accessor , som udvider atg.repository.search.indexing.PropertyAccessorImpl klasse (en mulighed, da du henviser til Nucleus , så jeg antager, at du bruger ATG/Oracle Commerce). Ved at bruge dette angiver du et normaliseret søgbart felt i dit indeks, der duplikerer de søgbare felter i dit nuværende indeks, men nu med alle diakritiske tegn fjernet. Den samme logik, som du anvender i Accessor skal derefter anvendes som en præprocessor på dine søgetermer, så du normaliserer inputtet til at matche de indekserede værdier. Gør endelig dine oprindelige felter i indekset (med de accentuerede tegn) kun til visning og de normaliserede felter søgbare (men vis dem ikke).

Resultatet vil matche din normaliserede tekst, men ulempen er, at du har duplikeret data, så dit indeks bliver større. Ikke et stort problem med små datasæt. Der kan også være en indflydelse på, hvordan OOTB-funktionaliteten, ligesom stemming, opfører sig med det normaliserede datasæt. Du bliver nødt til at udføre nogle test med forskellige scenarier på græsk og engelsk for at se, om præcisionen og tilbagekaldelsen er negativt påvirket.




  1. php:hurtigste måde at generere et 5-cifret tal, der ikke allerede er i MySQL db-kolonnen (med en unik attribut)

  2. Sådan omdøbes en Oracle-procedure

  3. MySQL sammenkæder alle kolonner

  4. hvordan indsætter man billede eller billede i Oracle-databasen?