Mysql
 sql >> база данни >  >> RDS >> Mysql

Добавяне на * (звездичка) към пълнотекстово търсене в MySQL

Това, което бихте могли да направите, е да създадете друга колона във вашата база данни с индекс за търсене в пълен текст, тази нова колона трябва да има обърнат низ на колоната, в която се опитвате да търсите, и вие ще обърнете заявката за търсене и ще я използвате за търсене в обърната колона, ето как ще изглежда заявката:

SELECT * FROM table WHERE MATCH(column1) AGAINST ("$key*" IN BOOLEAN MODE) OR MATCH(reversedColumn1) AGAINST ("$reveresedkey*" IN BOOLEAN MODE)
  • първото условиеMATCH(column1) AGAINST ("$key*" IN BOOLEAN MODE) пример:reversedColumn1==>Jmaes $reveresedkey*==>ames* ще търси думи, които започват с ames ==> няма съвпадение

  • условието на секундитеMATCH(reversedColumn1) AGAINST ("$reveresedkey*" IN BOOLEAN MODE) пример:reversedColumn1==>semaJ $reveresedkey*==>sema* ще търси думи, завършващи на ames ==> имаме съвпадение

Това може да не е лоша идея, ако текстът ви е кратък:



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL - Намерете MIN, но не нула

  2. Таймер за обратно броене на Javascript и PHP, който показва едно и също за всички

  3. MySQL | Не можете да посочите целева таблица 'a' за актуализация в клаузата FROM

  4. Hibernate OnDelete Cascade не работи за MySql, но работи на postgres и Ms-Sql

  5. Най-добри практики с исторически данни в MySQL база данни