Я хотел бы сделать работу по полнотекстовому поиску MySQL с японским и китайским текстом, а также с любым другим языком. Проблема в том, что эти языки и, возможно, другие обычно не имеют пробела между словами. Поиск не полезен, когда вы должны ввести то же предложение, что и в тексте.
Я не могу просто поставить пробел между каждым персонажем, потому что английский тоже должен работать. Я хотел бы решить эту проблему с помощью PHP или MySQL.
Могу ли я настроить MySQL для распознавания символов, которые должны быть их собственными индексами? Есть ли модуль PHP, который может распознавать эти символы, поэтому я мог бы просто выбросить пробелы вокруг индекса?
Обновление
Частичное решение:
$string_with_spaces =
preg_replace( "/[".json_decode('"\u4e00"')."-".json_decode('"\uface"')."]/",
" $0 ", $string_without_spaces );
Это делает класс символов из, по крайней мере, некоторых из символов, которые мне нужно обрабатывать специально. Я должен, вероятно, упомянуть, допустимо индексировать текст.
Кто-нибудь знает все диапазоны символов, которые мне нужно будет вставлять в пробе?
Кроме того, должен быть лучший, переносимый способ представления этих символов в PHP? Исходный код в Literal Unicode не идеален; Я не узнаю всех персонажей; они могут не отображаться на всех машинах, которые я должен использовать.