Я получил таблицу, как это (я удалил все эти несвязанные поля):MySQL полнотекстовый поиск с Предельное Return Пусто Результаты
CREATE TABLE `products` (
`id` bigint(20) NOT NULL,
`keywords` varchar(2000) DEFAULT NULL,
PRIMARY KEY (`id`),
FULLTEXT KEY `KEYWORDS_FTIDX` (`keywords`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
И есть две строки:
- ID: 131072, ключевые слова : product1
- ID: 131073, ключевые слова: product2
Если я запускаю запрос SELECT * FROM products WHERE MATCH(keywords) AGAINST('product1' IN BOOLEAN MODE)
, это Wi Вернем первую строку, как я ожидал.
Но если я добавлю лимит на запрос SELECT * FROM products WHERE MATCH(keywords) AGAINST('product1' IN BOOLEAN MODE) LIMIT 10
, то ничего не получил.
Я стараюсь использовать большее количество для LIMIT SELECT * FROM products WHERE MATCH(keywords) AGAINST('product1' IN BOOLEAN MODE) LIMIT 100
, он работает снова.
Может кто-нибудь, пожалуйста, дайте мне знать, как это сделать правильно?
Лично со всеми добавленными вами вариантами вы должны опубликовать это в сообществе администраторов баз данных. То есть, если вы понимаете все те дополнения, которые вы добавили к своим операторам T-SQL. Если вы не просто вернете некоторые. – Edward
Я просто запустил mysql в контейнере докера со всеми стандартными конфигурациями для целей разработки. Поэтому я не думаю, что речь идет о вариантах. Но спасибо за советы, я попробую сообщество администраторов баз данных, чтобы узнать, есть ли лучшее решение. – Sean