Слово «снова» не станет индексированным при использовании полного индекса MySQL InnoDB с анализатором NGRAM с размером тMySql

Форум по Mysql
Ответить
Anonymous
 Слово «снова» не станет индексированным при использовании полного индекса MySQL InnoDB с анализатором NGRAM с размером т

Сообщение Anonymous »

Мы заметили, что полнотекстовые поиски индекса не возвращают результаты для «снова» Param.
Мы исключили возможность того, что слово «снова» является частью списка MySQL FullText Stopword. Однако по какой -то причине, когда мы используем анализатор NGRAM с настройкой по умолчанию ngram_token_size = 2 , анализатор не индексирует подстройки «Ag» , «Ga» , «AI» , «в» . В результате, поиск слова «снова» nate no совместимы, хотя в данных существует слово. Причина, по которой подстроки "Ag" , "ga" , "ai" , "в" не индексируются при ngram_token_size = 2 . Кроме того, эта проблема, по -видимому, происходит только для слова «снова» , в то время как другие слова работают, как и ожидалось. (Innodb)
минимальный воспроизводимый пример:

Код: Выделить всё

-- Create a test table
CREATE TABLE test_ft (
id INT AUTO_INCREMENT PRIMARY KEY,
content TEXT,
FULLTEXT KEY ft_content (content) WITH PARSER ngram
) ENGINE=InnoDB;

-- Insert sample data
INSERT INTO test_ft (content) VALUES
('again'),
('hello again'),
('try again later'),
('simple test');

-- Try searching for the word "again"
SELECT *
FROM test_ft
WHERE MATCH(content) AGAINST('again' IN BOOLEAN MODE);
Это не вернет результатов, но если вы совпадаете с «позже» , например, он совпадает с «повторить еще раз» row.

Подробнее здесь: https://stackoverflow.com/questions/797 ... xt-index-w
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «MySql»