Ами ако иска - нека си напише каквото си иска индексиране, а дали и колко ще се справи е отделен въпрос. Аз затова предложих - и отново предлагам, степенувани от най-лесното към най-трудното различни методи:
1) Десктоп търсачка (не съм много сведущ по темата - помагайте) - според тия най-новата суер дупер (т.е. поредна промяна/подмяна) е тази (която се ползва в линукс) -
Recoll2) Някаква БД с вградено пълно текстово индексиране - MySQL като най-лесна и (забележи) предлага да си качиш собствена добавка за напр. български
3) Solr - което и най-доброто за търсене в целия текст
4) сам да си напише - каквото му душа сака...
5) всяко друго нещо което ще му изгради индекс, че без индекс ще е много бавно... както го беше почнал той - без индекс, и всеки път почва да върти цикъла отначало и почва сравняването отначало.
по въпроса за soundex - българския (за разлика от английския) е фонетичен език така че няма нужда да се търси по фонетично съвпадение (ако думата съвпада както си е написана, то тя съвпада и фонетично) (не е като френския напр. половината букви не се четат или английския пише едно а се чете друго - C'est la vie)
и накрая Левенщайн и/ли която и да е др. метрика дето мери разстоянието между думите/фразите ще си работи перфектно. напр. Solr (предполагам и MySQL и др.) пак ще изкара и по-малко вероятните съвпадения но с по-малко вероятност - и понеже БГ е фонетичен как мислите кое ще по-по-най- близо до оригинала...
напр. (предполагаме че продавачките са много тъпи и са ги записали така)
32 бр. компоти vs. 32 гб компютър
предплагаем изход от Солр-а:
'32 гб компютър' - 100%
'32 гб компютри' - 95% - не виждам как на фонетичен език/азбука нещо различно от търсеното ще мачва по-добре
'32 гб компютъри' - 95%
'32 бр. компоти' - 50%
...
'32 бр ножчета за бръснене' - 5% (това последното ако го настроите да показва всички - иначе спира около 70-80% или 100 бр. съвпадения... или нещо такова ми се върти)