私はPostgreSQLデータベースに、より詳細な情報(state-> city-> street-> numberと考える)を含む4つの列と、すべてがシンプルに連結された列フォーマットルール。例:列方向オートコンプリート
| kommun | trakt | block | enhet | beteckning |
| Mora | Gislövs Läge | 9 | 16 | Mora Gislövs Läge 9:16 |
| Mora | Gisslaved | * | 8 | Mora Gisslaved 8 |
| Mora | Gisslaved | * | 9 | Mora Gisslaved 9 |
| Lilla Edet | Sanda | GA | 1 | Lilla Edet Sanda GA:1 |
Webサービスは、彼らがドリルダウンして、ユーザが入力提案を取得する単語ごとのオートコンプリートを実装するためにこの表を使用しています。 - 2で
select distinct trim(substring(beteckning from '(^(\S+\s?){NUMPARTS})')) as bet
from beteckning_ac
where upper(beteckning) like upper('mora gis%')
order by bet
NUMPARTS
は、入力中の単語の数である
:mora gis
の入力は現在、これはこのクエリ内の単語によって連結された列を分割することによって行われ
["Mora Gislövs", "Mora Gisslaved"]
になりますこの場合。
は今、私はオートコンプリートが列単位ではなく、単語単位で行うことにしたいので、mora gis
は今、代わりにこのことになる:
["Mora Gislövs Läge", "Mora Gisslaved"]
を最初の2つの列が単語の任意の数を含めることができるので、私はもはや入力を使用して、応答に含める列の数を決定することはできません。これを行う方法はありますか、私はおそらくこのオートコンプリートビジネスについて間違っていたでしょうか?
入力を複数のフィールドに分割することができます。たとえば、kommunに何かを入力すると、そこにオートコンプリートするなどのことができます。 –
@BenH良いアイデア。残念ながら、クライアントには1つの入力フィールドしかありません。それは私の手の中にあります。 – aznan