2016-03-29 7 views
1

ユーザがいくつかの間違った単語を入力した場合、結果をデータベースから取得したいとします。たとえば、 "Ahmed"はデータベースとユーザタイプ "Ahmad"ユーザーは「Ahmed」との結果を得る。 「Like」を使用すると、ユーザーは正確な呪文「Ahmed」を入力する必要があり、「Ahmad」と入力すると結果はnullになります!postgresqlのアンドロイドでいくつかの文字が間違っていた場合に検索結果を取得

private final TextWatcher mTextEditorWatcher = new TextWatcher() { 
    public void beforeTextChanged(CharSequence s, int start, int count, int after) { 

    } 

    public void onTextChanged(CharSequence s, int start, int before, int count) { 
     if (count > 2) { 
      //call your async class through which you can make request for get suggestions. 
     } 
    } 

    public void afterTextChanged(Editable s) { 
     if (count > 2) { 
      //call your async class through which you can make request for get suggestions. 
     } 
    } 
}; 
+0

あなたが使用する必要が –

+1

この目的のためにTextWatcherを使用します。

CREATE TABLE test (t varchar); INSERT INTO test VALUES ('Ahmad'); 

あなたはこの結果を得ることができますpostgres "全文検索"またはそれだけの "pg_trgm" .Googleの詳細 –

答えて

0

。このテーブルの

CREATE EXTENSION pg_trgm; 

:クエリを使用して、データベースのためにそれをインストールし

SELECT * FROM test WHERE 'Ahmed' % t; 
    t 
------- 
Ahmad 
(1 row) 

SELECT * FROM test WHERE t LIKE 'Ahmed'; 
t 
--- 
(0 rows) 
0

使用pg_trgm拡張子:私は次のコードを使用このアイデアを実装するために

関連する問題