В предоставената от вас документация се посочва:
Това предполага, че гръцкият не се поддържа, тъй като не попада в нито един от тези набори от знаци (мисля, че гръцкият е латински-7). Въпреки това можете да опитате да зададете езиков флаг на ниво на запис (тъй като посочвате, че вашите данни включват както английски, така и гръцки), като приемем, че всеки език има свой собствен запис, или опитайте да приложите глобален език, използвайки dgidxкод> и
dgraph
параметри, но това ще засегне неща като произтичане за записи или свойства, които не са на глобалния език.
dgidx --lang el
dgraph --lang el
Въпреки че не съм сигурен, че ще работи въз основа на оригиналното изявление.
Като алтернатива можете да приложите процес на премахване на диакритичен знак с помощта на персонализиран Accessor
, който разширява atg.repository.search.indexing.PropertyAccessorImpl
клас (опция, тъй като препращате към Nucleus
, така че предполагам, че използвате ATG/Oracle Commerce). Използвайки това, вие указвате нормализирано поле за търсене във вашия индекс, което дублира полетата за търсене в текущия ви индекс, но сега с премахнати всички диакритични знаци. Същата логика, която прилагате в Accessor
след това трябва да се приложи като препроцесор на вашите думи за търсене, така че да нормализирате входа, за да съответства на индексираните стойности. Накрая направете вашите оригинални полета в индекса (с ударените знаци) само за показване и нормализираните полета за търсене (но не ги показвайте).
Резултатът ще съответства на вашия нормализиран текст, но недостатъкът е, че имате дублирани данни, така че вашият индекс ще бъде по-голям. Не е голям проблем с малки набори от данни. Може също да има влияние върху това как функционалността на OOTB, като произтичане, се държи с нормализирания набор от данни. Ще трябва да направите някои тестове с различни сценарии на гръцки и английски, за да видите дали прецизността и припомнянето са неблагоприятно засегнати.