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

как да използвате Fuzzy look up, за да намерите изречението в SQL?

Това не е прост въпрос. Най-добре е да използвате някакъв тип търсене в пълен текст . Търсенето в пълен текст може да бъде конфигурирано да има стоп думи (думи, които са пропуснати от търсенето - като думата the ) и може да има ограничение за минимална дължина на думата (думи с по-малко от определени знаци също се пропускат от търсенето.

Ако обаче просто използвате

SELECT * FROM testtable
WHERE MATCH (sentence)
AGAINST ('ISBN number on site');

Тогава MySQL ще върне не само записа със стойността, която търсите, но и записите, които имат само някои от думите и в различен ред. Този, който показахте, вероятно ще бъде един от най-високо класираните, но няма гаранция, че ще бъде най-високо класираният.

Може да искате да използвате булево пълнотекстово търсене и добавете + към всяка дума за търсене, за да принуди MySQL да върне само онези записи, в които присъстват всички думи за търсене:

SELECT * FROM testtable
WHERE MATCH (sentence)
AGAINST ('+ISBN +number +on +site' IN BOOLEAN MODE);

Но on трябва да бъде или стоп дума (тя е в списъците с думи по подразбиране) или трябва да е по-къса от минималната дължина на думата, така че трябва да бъде пропусната от израза за търсене (няма да получите никакви резултати):

SELECT * FROM testtable
WHERE MATCH (sentence)
AGAINST ('+ISBN +number +site' IN BOOLEAN MODE);

Знам, че това изисква промяна на израза за търсене, но това ще ви даде най-добри резултати, като използвате вградената функционалност на MySQL.

Алтернативата е да използвате други търсачки с пълен текст, като сфинкс за да извърши търсенето вместо вас.



  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 с помощта на java?

  2. Промяна на стойността AUTO_INCREMENT чрез избран резултат

  3. ASP.NET използва SqlConnection свържете MySQL

  4. Изтегляне на данни в csv файл от MySQL с помощта на PHP

  5. как да съхранявате сол за парола