ПОЛНЫЙ ТЕКСТ поиск SQL - PullRequest
       1

ПОЛНЫЙ ТЕКСТ поиск SQL

0 голосов
/ 13 декабря 2011

структура таблицы (тип: MyISAM)

    user_name              varchar(30)                               
function_type              varchar(30)                                   
function_name              varchar(30)                                   
function_description       text 

FULLTEXT:

KEYNAME:             TYPE:                          FIELD:
PRIMARY BTREE       BTREE                          function_name
full_text           FULLTEXT                       function_description             

И у меня есть следующие значения в столбце "function_description":

function_description:

akram lofaif 
that is das
akram is blum test
adnan is fine

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

SELECT * FROM functions
     WHERE MATCH (function_description)
     AGAINST ('akram' IN NATURAL LANGUAGE MODE)

это ничего не дало!

1 Ответ

2 голосов
/ 13 декабря 2011

Документация для полнотекстовых индексов гласит, что полнотекстовый поиск слова не дает результатов, если слово встречается слишком часто:

Слово, которое соответствует половине строк в таблице, с меньшей вероятностью найти соответствующие документы. На самом деле, он, скорее всего, находит много не относящиеся к делу документы. Мы все знаем, что это происходит слишком часто, когда мы пытаемся найти что-то в интернете с помощью поисковой системы. Это с этим рассуждением, что строки, содержащие слово, присваиваются низкая семантическая ценность для конкретного набора данных, в котором они встречаются. данное слово может достигать 50% порога в одном наборе данных, но не другой.

Если вы просто пробуете это, добавьте еще несколько данных в вашу таблицу, где слово akram не включено, чтобы уменьшить количество идентифицированных строк.

Если это ваша рабочая таблица, вы можете попробовать режим BOOLEAN, который не соответствует ограничениям на естественном языке:

SELECT * FROM functions
     WHERE MATCH (function_description)
     AGAINST ('akram' IN BOOLEAN MODE)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...