1

私は問題に直面しています。インターネットで解決策を検索しましたが、解決策が見つかりませんでした。

これが私の問題です:場所(latとlong)を持つDBテーブルにいくつかのアイテムが保存されています。たとえば、パリの航空機、ニューヨークの自転車、パリの別の自転車、東京の食器洗い機など...場所の近くにあるタイプのすべてのアイテムを見つけたいと思います。

そのために、2つの入力フィールドを作成しました。1つは「What」と呼ばれ、もう1つは「Where」と呼ばれます(これはGoogleマップのオートコンプリート機能を備えています)。最初のフィールドに「バイク」、2番目のフィールドに「パリ」と入力すると、完全に機能します。(ジオコードを使用して「Where」フィールドの座標を取得し、SQLクエリを使用してオブジェクトタイプをフィルタリングします)

しかし、私の目標は、1つの入力フィールドでこれを達成することです!ユーザーが「BikeParis」または「ParisBike」​​と入力して、DBにあるパリ近郊のすべての自転車の結果を取得できるグローバルフィールド。グーグルマップの場合のように:「携帯電話シカゴ」と入力すると、「シカゴ近くの携帯電話」と解釈され、結果が得られます。難しいのは、どの単語がどこにあり、どの単語がそうでないかを解釈することです。

これを達成する方法についてのアイデアはありますか?

前もって感謝します。

4

2 に答える 2

1

これにはいくつかの作業が必要です。これを行う1つの方法は、特定の機械学習分類アルゴリズムの何らかの手段を使用することです。彼らが基本的に行うことは、オブジェクトを特定のクラスに分類するために、観測値を含む特定の種類のデータセットを使用してトレーニングされることです。したがって、新しいオブジェクトが与えられると、それに応じて分類できます。

あなたはここここでそれらについてもっと読むことができます

そのような複雑さを管理できない場合、簡単な方法の1つは、ユーザーが最小のデータセット(つまり、物や場所)に入力した両方の単語を、一方が他方よりも非常に大きい場合に検索することです。

于 2012-09-28T12:18:03.390 に答える
1

このSQLステートメント

SELECT *  FROM `mixedsearch` WHERE `place` IN ('London','Bike') AND `type` IN ('London','Bike')

選択する

London | Bike

この表から

place | type
Paris | Bike
Paris | Plane
Paris | Car
London | Bike
London | Car
London | Plane
Tokyo | Dishwasher
Tokyo | Bike

SQLフィドル

入力フィールドを SELECT ステートメントに変換する方法は、アプリケーションによって異なります

于 2012-09-28T14:21:51.367 に答える