1

In vendor_tbl Tabel i Have Lot of Words "Microsoft" But when i enter Keyword 'mecrsoft'

or something like this it not return me like micrsoft record and sql query return 0 records

how can to use intelligency to make query That it return me all records like my keyword

below i post sql query in other

any suggetion aur help to make query Better

$keyword='mecrsoft';
$mykeyword= explode(" ",$keyword);
for($i=0;$i<count($mykeyword);$i++)
   $keywords_v[]="vendor_name like '%".$mykeyword[$i]."%' or page_description
   like '%".$mykeyword[$i]."%' or  keyword like '%".$mykeyword[$i]."%' or
   page_title like  '%".$mykeyword[$i]."%' or page_description like
   '%".$mykeyword[$i]."%' ";

$q="select vendor_name,slug,page_description,keyword,
   page_title,page_body from vendor_tbl 

where (".implode(',',$keywords_v).")";

$rs=mysql_query($q);
Explosion Pills
  • 188,624
  • 52
  • 326
  • 405
user1138383
  • 115
  • 2
  • 2
  • 10

2 Answers2

2

I think it is work for a search engine with an analyser who understand wrong words. For example, ElasticSearch and Fuzzy queries:

http://www.elasticsearch.org/guide/reference/query-dsl/fuzzy-query.html

Or you can use a levenshtein function in MySQL

Levenshtein: MySQL + PHP

Community
  • 1
  • 1
Tiago Peczenyj
  • 4,387
  • 2
  • 22
  • 35
0
  1. You have data pair of probability terms like 'mecrsoft' mean 'microsoft' or
  2. You can implement levenshtein distance algorithm
bitoshi.n
  • 2,278
  • 1
  • 16
  • 16