V dokumentaci, kterou poskytujete, je uvedeno:
To naznačuje, že řečtina není podporována, protože nespadá do žádné z těchto znakových sad (věřím, že řečtina je latinka-7). To znamená, že můžete zkusit nastavit příznak jazyka na úrovni záznamu (protože uvádíte, že vaše data zahrnují angličtinu i řečtinu), za předpokladu, že každý jazyk má svůj vlastní záznam, nebo se pokusit implementovat globální jazyk pomocí dgidx a
dgraph
parametry, ale to ovlivní věci jako stemming pro záznamy nebo vlastnosti, které nejsou v globálním jazyce.
dgidx --lang el
dgraph --lang el
I když si nejsem jistý, že to bude fungovat na základě původního prohlášení.
Případně můžete implementovat proces odstranění diakritických znamének pomocí vlastního Accessor
, která rozšiřuje atg.repository.search.indexing.PropertyAccessorImpl
class (volba, protože odkazujete na Nucleus
, takže předpokládám, že používáte ATG/Oracle Commerce). Pomocí toho určíte normalizované pole s možností vyhledávání ve vašem indexu, které duplikuje pole s možností vyhledávání ve vašem aktuálním indexu, ale nyní bez diakritiky. Stejná logika jako v Accessor
pak je třeba použít jako preprocesor na hledané výrazy, abyste normalizovali vstup tak, aby odpovídal indexovaným hodnotám. Nakonec nastavte, aby se vaše původní pole v rejstříku (se zvýrazněnými znaky) zobrazovala pouze a aby bylo možné prohledávat normalizovaná pole (ale nezobrazovat je).
Výsledek bude odpovídat vašemu normalizovanému textu, ale nevýhodou je, že máte duplikovaná data, takže váš index bude větší. U malých souborů dat to není velký problém. Může také mít vliv na to, jak se funkce OOTB, jako je stemming, chová s normalizovanou datovou sadou. Budete muset provést několik testů s různými scénáři v řečtině a angličtině, abyste zjistili, zda není negativně ovlivněna přesnost a zapamatování.