MySQL MATCH AGAINST не возвращает все подходящие результаты

У меня есть таблица, упростить, идентификаторы фотографий а также идентификаторы тегов. И недавно я заметил, что когда я использую команду MATCH AGAINST, она не возвращает все подходящие совпадения. Хотя иногда две строки содержат один и тот же текст, который был проверен, но одна из них выбирается, а другая — нет.

Вот таблица под названием фото

  id             | type | size    | tag                                                                  |
+----------------+------+---------+----------------------------------------------------------------------+
| IMG_1485197299 | jpg  | 1400000 | ImgTg_0000000000                                                     |
| IMG_1485429476 | jpg  |       0 | ImgTg_1485195510 ImgTg_1485195592 ImgTg_1485195621 ImgTg_1486234725  |
| IMG_1485429627 | jpg  |       0 | ImgTg_1485195510 ImgTg_1485195621 ImgTg_1485195592                   |
| IMG_1485429660 | jpg  |       0 | ImgTg_1485195510 ImgTg_1485195621 ImgTg_1485195592                   |
| IMG_1485429669 | jpg  |       0 | ImgTg_1485195510 ImgTg_1485195621 ImgTg_1485195592                   |
| IMG_1485429681 | jpg  |       0 | ImgTg_1485195592                                                     |
| IMG_1485429687 | jpg  |       0 | ImgTg_1486234725                                                     |
| IMG_1485429695 | jpg  |       0 | ImgTg_1485195621 ImgTg_1485195510                                    |
| IMG_1485429704 | jpg  |       0 | ImgTg_0000000000 ImgTg_1486234725                                    |
| IMG_1485429710 | jpg  |       0 | ImgTg_1485195510                                                     |
| IMG_1485429718 | jpg  |       0 | ImgTg_1485195510                                                     |
| IMG_1485433986 | jpg  |       0 | ImgTg_1485195510 ImgTg_1485195592                                    |
| IMG_1485433993 | jpg  |       0 | ImgTg_1485195510 ImgTg_1485195592                                    |
| IMG_1486234762 | png  |  143306 | ImgTg_1486234725                                                     |

Это команда, которую я использую:

SELECT * FROM photos WHERE MATCH(tag) AGAINST('+ImgTg_1486234725 ' IN BOOLEAN MODE);

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

+----------------+------+------+-------------------+
| id             | type | size | tag               |
+----------------+------+------+-------------------+
| IMG_1485429687 | jpg  |    0 | ImgTg_1486234725  |
+----------------+------+------+-------------------+

НОТА: Если я попытаюсь изменить tag к другому id оно работает! Но, некоторые ids просто не работает

Что я должен делать?

0

Решение

Спасибо всем за попытку помочь
Я пытался разгадать эту загадку со вчерашнего дня, но я только что нашел ошибку, которую сделал после того, как опубликовал вопрос: D

Я использовал какой-то latinсличение и я изменил его utf8_bin и теперь работает отлично!

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]