2011-12-28 12 views
2

私は、 'ex'と入力したときにajaxを使用して、ユーザーが 'example'または 'exam'を入力することを認識したgoogleのような検索ページを作成します。 このようなページを作るためのアルゴリズムは何ですか? はmysqlのようなクエリです:"SELECT * FROM users WHERE upper($field) LIKE'%$find%'"? ありがとうございました。Ajax(アルゴリズム)で検索するページ

+0

何かを提案する問題を解決することができます。 –

+0

はい、いいえ。正直なところ、誰も真のアルゴリズムを知っているわけではありませんが、このようなことをしているときは、キャッシュするのが最良です(オートコンプリート用)。 1回だけ検索して「ex」と似たものを見つけようとすると、このクエリは完全にうまくいくでしょう。また、exで始める場合は、 '%$ 'がワイルドカードであるため、'%$ find% 'の代わりに' $ find% 'を実行してください。 – Matt

+1

このスレッドを参照してくださいhttp://stackoverflow.com/questions/2909210/jquery-autosuggest-example –

答えて

0

クエリは、ほとんどこの
mysql_query("select * from users where queryfield like '$q%' order by queryfield");
あなたの仕事の完全なソースのための

<input type="text" id="populate"> 
<script type="text/javascript"> 

    $(function() { 

    $("#populate").autocomplete({ 
     url: 'search.php', 
     cache: false, 
     onItemSelect: function(item) { 
      window.location.href=item.data; 
      document.getElementById('populate').value=''; 

     }, 
    }); 

}); 


    </script> 


容易にするためにjqueryのオートコンプリートを使用することである。私はそれがこのようにうまくいくと思う
http://jqueryui.com/demos/autocomplete/#remote

0

を、我々は2つのテーブルを持っていると仮定し、1つは要求のある記事/リンクであり、他のものはキーワードの検索であるエンジンが壊れますが、どのような良いキーワード? 「伝説私は」または「伝説私」私にはそれが最も求められているので、人気ランキングで、このインデックスは、それに基づいてます。..

より多くの人を検索し、例えば、 '映画の伝説'、 '神は伝説' ..「伝説」という言葉は4回検索され、そのインデックスはこれに基づいて作成されますが、検索された単語、または検索にも追加されなかった単語

あなたはこのようなことをしなければなりません。テーブルを作成すると、searcheの25%ごとに更新されますユーザーが入力しているときは、候補を表示します。

あなたが何かをしなければならないが、それは検索を使う人のためのより良い結果をもたらすだろう、しかし、あなたはそう、このようなjQuery Autocomplete