1

vendor_tbl テーブルには「Microsoft」という単語がたくさんありますが、キーワード「mecrsoft」を入力すると

または、このようなものは、micrsoftレコードのように返されず、SQLクエリは0レコードを返します

インテリジェンスを使用してクエリを作成する方法 キーワードのようなすべてのレコードを返すこと

以下に、SQLクエリを他の場所に投稿します

クエリを改善するための任意の提案

$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);
4

2 に答える 2

2

間違った言葉を理解するアナライザーを備えた検索エンジンの仕事だと思います。たとえば、ElasticSearch および Fuzzy クエリは次のとおりです。

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

または、MySQL でレーベンシュタイン関数を使用できます。

レーベンシュタイン: MySQL + PHP

于 2012-05-15T15:25:03.990 に答える
0
  1. 「mecrsoft」が「microsoft」を意味するような確率項のデータ ペアがあります。
  2. レーベンシュタイン距離アルゴリズムを実装できます
于 2012-05-15T15:24:28.997 に答える