私はWebアプリケーションで作業しており、クエリに関する助けが必要です。ほとんどの検索結果からMY_SQL全文
SELECT id, name, city, state, country, date
FROM events_search
WHERE MATCH(name, city, state, country)
AGAINST ('$str')
あなたは私が名前、市、州および国が含まれているインデックスを使用して、ユーザーが入力した文字列とそれにマッチしています見ることができるように:私は、これはそれが探している方法です、フルテキストを使用しています。この文字列には、今説明したフィールドの任意の組み合わせを含めることができます。ですから、私はdbにクエリを行い、最も関連性の高い結果を見つけて、それらをユーザーに表示する必要があります。今のところそれはうまくいっていますが完璧ではありません。例えば
:ユーザーはフロリダ州マイアミに入った場合は、最初の5つの結果は、マイアミで、フロリダの他の都市です。次の5つはマイアミアリゾナ州にあります(私はこの1つを見せたくありません)、その後はフロリダとマイアミ(フロリダ)にあるより多くの結果を得るでしょう。だから私がしたいことは、より多くの時間発見されたフィールドを決定し、このフィールドが上にある結果を表示することです。このケースでは、結果の70%がフロリダ州にあるので、フロリダになります。