1

複数のキーワードで条件をLIKE使用して検索を行っています。OR検索結果とその結果に使用されたキーワードを取得することは可能でしょうか。

SELECT * FROM `LOCATIONS` WHERE `location_name` LIKE '%United Kingdom%' OR `location_name` LIKE '%France%';

クエリは両方のキーワードで一致した結果を取得します。このようにどのキーワードから一致したかを取得したい!

location_name                 usedKeyword

United Kingdom UK             United Kingdom

Lille, France                 France

London, United Kingdom        United Kingdom

location_name が両方のキーワードに一致した場合、もう 1 つの問題があることがわかっている可能性があります。本当にわからない。これを行う方法。

たとえば、「イギリスとフランス」は場所の名前です

なぜこれをしたいのですか?

この質問があるかもしれません。場所の国名を取得するために考えられるすべての方法を試しています。コードと名前を含むcountrylistテーブルがあります。それを使用して、場所の名前を取得するのが好きです

他のいくつかの実験

  1. zend lucene での逆句検索
  2. ロケーション検索クエリの問題

PS: わかりました。国ごとにクエリを個別に実行できます。都市についても同じことを行うと、数千を意味します。クエリの数を最小限に抑えるために、代替手段を探しています。

4

1 に答える 1