1

こんにちは、私は RESTful アプリを構築していますが、オプションのファジーまたは LIKE クエリをパターン化するための推奨される方法が見つかりません。たとえば、厳密なクエリは次のようになります。

/place?city=New+York&state=NY

SQL "... WHERE city="New York" AND state="NY" に対応

しかし、都市名に「York」が含まれる行の都市フィールドを検索したい場合はどうすればよいでしょうか。

"... WHERE city LIKE "%{parameter}%" AND state="{parameter2}"

次のように、ある種のURL有効な文字をリクエストに追加することを考えています:

/place?city=*York*&state=NY

使用すべき確立された、または推奨されるパターンはありますか? ありがとう!

4

1 に答える 1

2

クエリ文字列を使って検索するのはいいのですが、「*」や「?」などのマクロ文字を使うのはちょっと変です。クエリ文字列で (Google のような非常に強力な検索エンジンを構築する場合を除きます)。さらに重要なことに、検索は通常、デフォルトであいまいモードと見なされるため、キーワードに「*」を追加/先頭に追加するのは冗長です。完全一致検索が必要な場合は、exact (または strict) キーワードを二重引用符で囲むことができます。つまり、 を使用する代わりに/place?city=*York*&state=NY、 をお勧めし/place?city=York&state="NY"ます。

実際、Google は引用符を使用して正確な単語または一連の単語を検索しており、このサイトがこのパターンを採用していることもわかりました。

于 2013-01-18T02:08:26.223 に答える