Запрос результатов поиска и сопоставления MySQL

#mysql

#mysql

Вопрос:

Может кто-нибудь объяснить, почему

 column  LIKE '%board%'
  

возвращает больше результатов, чем

 MATCH (column) AGAINST('board' IN BOOLEAN MODE)
  

это потому, что сопоставление с игнорирует такие слова, как «Blackboard», «Backboard» и т. Д

Есть ли способ получить СОВПАДЕНИЕ С возвращаемой доской, задней панелью и т. Д.?

Ответ №1:

MATCH (column) AGAINST('keyword... будет соответствовать предоставленной буквальной строке, где as LIKE "%keyword%" будет соответствовать, если слово содержит предоставленную строку.

Ответ №2:

Это должно помочь вам:

 MATCH (column) AGAINST('board*' IN BOOLEAN MODE)
  

Источник: http://dev.mysql.com/doc/refman/5.5/en/fulltext-boolean.html

Там есть много хороших примеров поисковых запросов.

Комментарии:

1. Не уверен, что вы можете сделать *board* , согласно документам The asterisk serves as the truncation (or wildcard) operator. Unlike the other operators, it should be appended to the word to be affected. Words match if they begin with the word preceding the * operator.

2. подсчеты по-прежнему отключены, с подстановочным знаком. Например, 20 СОВПАДЕНИЙ ПРОТИВ 50 для LIKE ‘%board%’

3. каковы фактические различия.

4. «Слова совпадают, если они начинаются со слова, предшествующего оператору *. » Как насчет слов, которые содержат слова / токены?