Как поставить римские цифры в сфинксе - PullRequest
1 голос
/ 17 января 2011

Есть ли способ поставить римские цифры в сфинкс, чтобы римские цифры были синонимичны с арабскими цифрами?

Например, запрос "Мафия 2" будет таким же, как "Мафия II", инаоборот.

1 Ответ

0 голосов
/ 21 января 2011

Вы можете сделать это с помощью словоформ. Просто напишите какой-нибудь скрипт, переводите арабские цифры на римские и создайте текстовый файл:

walks > walk
walker > walk
1 > I
2 > II
3 > III
4 > IV

и так далее ... Затем сохраните в / absolute / path / wordforms.txt и в вашей конфигурации в разделе index напишите:

wordforms = /absolute/path/wordforms.txt

Вот и все. После переиндексации, если вы ищете Mafia 2 sphinx, найдите Mafia II для вас. Но это только односторонний перевод (не очень хороший для вашего вопроса, но все же полезный) и его лучше использовать для таких вещей, как этот пример из документации :

core 2 duo > c2d
e6600 > c2d
core 2duo > c2d

Раунд 2

Лучше подготовить поисковый запрос до начала поиска и держаться подальше от индексатора:)

Ваш запрос:

mafia 2|mafia II

или

gta 4|gta IV

Вот и все. Вам нужно всего лишь написать какую-нибудь функцию преобразования арабского в римский. Вы можете найти это, прибегая к помощи что-то вроде

"араб с римским (ваше программирование язык) "

...