0
 for (String column : searchCols) {
            for (String keyword : keywords) { 
                listAllSql.append(getDBColumnName(column));
                listAllSql.append(" like "); //like
                listAllSql.append("'%");     //'%vision%'
                listAllSql.append(keyword); 
                listAllSql.append("%'"); 
                listAllSql.append(" or ");
            }

コードのスニペットを次に示します。検索する「ネットワーク」などのキーワードを渡します。「ネットワーク」(単数形)と「ネットワーク」(複数形)を含むステートメントが見つかった場合、結果イベントを返すステートメントが必要です。これを達成するために、上記のステートメントにどのような変更を加える必要がありますか。私は実際に Mozilla Firefox FYI のアドオンとして「SQLite」マネージャーを使用しています。

4

1 に答える 1

0

一番上に追加するだけです(言語についてはわかりません):

for (String keyword : keywords) { 
    if right(keyword,1) = "s" and length(keyword) > 1 then
        keyword = left(keyword,length(keyword)-1)
    end if
    listAllSql.append.....

'as' を検索して 'a' を含むすべての単語を返すという問題に遭遇するかもしれませんが、s で終わるだけでなく、複数形の単語を見つけることは非常に難しくなります。また、一般的に、検索での偽陽性は偽陰性よりも優れています (私の意見では)。

于 2013-02-27T12:02:56.560 に答える