Oracle
 sql >> база данни >  >> RDS >> Oracle

Разширете картографирането на диакритично сгъване на Endeca

В предоставената от вас документация се посочва:

Това предполага, че гръцкият не се поддържа, тъй като не попада в нито един от тези набори от знаци (мисля, че гръцкият е латински-7). Въпреки това можете да опитате да зададете езиков флаг на ниво на запис (тъй като посочвате, че вашите данни включват както английски, така и гръцки), като приемем, че всеки език има свой собствен запис, или опитайте да приложите глобален език, използвайки dgidx и dgraph параметри, но това ще засегне неща като произтичане за записи или свойства, които не са на глобалния език.

dgidx --lang el
dgraph --lang el

Въпреки че не съм сигурен, че ще работи въз основа на оригиналното изявление.

Като алтернатива можете да приложите процес на премахване на диакритичен знак с помощта на персонализиран Accessor , който разширява atg.repository.search.indexing.PropertyAccessorImpl клас (опция, тъй като препращате към Nucleus , така че предполагам, че използвате ATG/Oracle Commerce). Използвайки това, вие указвате нормализирано поле за търсене във вашия индекс, което дублира полетата за търсене в текущия ви индекс, но сега с премахнати всички диакритични знаци. Същата логика, която прилагате в Accessor след това трябва да се приложи като препроцесор на вашите думи за търсене, така че да нормализирате входа, за да съответства на индексираните стойности. Накрая направете вашите оригинални полета в индекса (с ударените знаци) само за показване и нормализираните полета за търсене (но не ги показвайте).

Резултатът ще съответства на вашия нормализиран текст, но недостатъкът е, че имате дублирани данни, така че вашият индекс ще бъде по-голям. Не е голям проблем с малки набори от данни. Може също да има влияние върху това как функционалността на OOTB, като произтичане, се държи с нормализирания набор от данни. Ще трябва да направите някои тестове с различни сценарии на гръцки и английски, за да видите дали прецизността и припомнянето са неблагоприятно засегнати.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. JDBC драйвер за Oracle 10G XE

  2. Базата данни на Oracle позволява невалидна част от времето на стойностите на колоната за дата и час при какви обстоятелства?

  3. GROUP BY с MAX(DATE)

  4. Как да изчислим средната стойност на колона и след това да я включим в заявка за избор в oracle?

  5. Различни дати Oracle 11g с TOAD