/ / mysql fulltext query razlika - mysql, търсене в пълен текст

mysql fulltext заявка разлика - mysql, пълен текст търсене

Последвах този урок за търсене в пълен текст в mysql.

Имам тази таблица:

CREATE TABLE IF NOT EXISTS `test` (
`id` int(20) NOT NULL AUTO_INCREMENT,
`textrow` varchar(256) NOT NULL,
PRIMARY KEY (`id`),
FULLTEXT KEY `textrow` (`textrow`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=3 ;

INSERT INTO `test` (`id`, `textrow`) VALUES
(1, "Agajan Torayev"),
(2, "torayeff");

ALTER TABLE test ADD FULLTEXT(textrow);

Каква е разликата между тези заявки (един дава нулеви резултати):

mysql> SELECT * FROM test WHERE MATCH(textrow) AGAINST("agajan");
Empty set (0.00 sec)

И

mysql> SELECT *, MATCH(textrow) AGAINST("agajan") FROM test;
+----+----------------+----------------------------------+
| id | textrow        | MATCH(textrow) AGAINST("agajan") |
+----+----------------+----------------------------------+
|  1 | Agajan Torayev |                                0 |
|  2 | torayeff       |                                0 |
+----+----------------+----------------------------------+
2 rows in set (0.00 sec)

Отговори:

1 за отговор № 1

Разликата е, че в първата заявка филтрирате резултата си с matchВъв втората заявка се извеждат всички записи и се добавя колона, за да се покаже какво matchрезултат.

Но не получавате резултат, защото

Търсенето на естествен език интерпретира търсения низ като фраза в естествен човешки език (фраза в свободен текст). [...] В допълнение, думите, които присъстват в 50% или повече от редовете, се считат за общи и не съвпадат.

Взети от MySQL функции за пълнотекстово търсене