2012-06-07 2 views
2

У меня проблема с mysql и MATCH AGANIST.mysql WHERE MATCH FROM

Я получил эту строку в моей базе данных:

1:{Czy jesteśmy tutaj sami};2:{Margit Sanoemo} 

Я хочу найти это по следующему запросу:

SELECT * FROM data WHERE MATCH (params) AGAINST('*argi*' IN BOOLEAN MODE) 

, но я получил пустую строку.

Однако с этим запросом:

SELECT * FROM dataWHERE MATCH (params) AGAINST('margi*' IN BOOLEAN MODE) 

я хочу, я хочу.

Вы можете помочь мне с двойным ** в параметрах? AGAINST('*argi*' IN BOOLEAN MODE)

+0

Я думаю, вы хотите использовать is% вместо * – jcho360

+0

уже пробовал, %% не работает в MATCH AGANIST –

+0

, а как насчет 'like' ?, вы можете его использовать? – jcho360

ответ

1

Не вставлять переменные в двойных кавычках, и вы установите:

SELECT * FROM " . $table .WHERE MATCH (message) AGAINST ('%" . $string . "%' IN BOOLEAN MODE)

3

+

Ведущий плюс знак указывает на то, что это слово должно присутствовать в каждой строки, возвращаемой ,

-

Ведущий знак минус указывает на то, что это слово не должно присутствовать в любой строке вернулся.

< >

Эти два оператора используются для изменения вклад слова на значение релевантности, которое приписывается строке. Оператор < уменьшает вклад, а оператор> увеличивает его. См. Пример ниже.

()

. Скобки помещаются вокруг подвыражений, чтобы дать им более высокий приоритет в поиске.

~

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

*

* Звездочка является оператором усечения. В отличие от других операторов , оно добавляется к слову или фрагменту, а не к добавленным.*

Двойные кавычки в начале и в конце фразы, спички только те строки, которые содержат полную фразу, как это было напечатано.

Смежные вопросы