35.26 SDO_UTIL.GEO_SEARCH

書式

SDO_UTIL.GEO_SEARCH(
     name  IN VARCHAR2, 
     fuzzy IN NUMBER DEFAULT NULL  
    ) RETURN SDO_GEO_SEARCH_TABLE;

説明

地名階層を含む表(ELOC_ADMIN_AREA_SEARCH)に対する問合せを行います。

パラメータ

name

地名階層を含む表にある1つ以上の名前。複数の名前の値はカンマを使用して区切ります。

この表については、「ELOC_ADMIN_AREA_SEARCH表」を参照してください。

fuzzy

name値との一致の検出にOracle Textファジー・マッチを使用するかどうかを決定します。0(ゼロ、デフォルト)はファジー・マッチを使用せず、1はファジー・マッチを使用します。ただし、詳細および例については「使用上のノート」を参照してください。

使用上のノート

このファンクションを使用するには、「位置データ・エンリッチメント」に記載の概念を理解する必要があります。ここには、必要な設定処理についての説明もあります。

場所のデータ・セットには、スペルと大/小文字に様々なバリエーションがある場合がありますが、fuzzyパラメータの値が0(デフォルト)の場合、名前の値は、場所のデータ・セットの値とスペルが一致する必要があります。値が1の場合、名前の値の些細な間違い(スペル・ミスなど)も一致と見なされます。たとえば:

  • fuzzy=>0の場合、‘nashua, nh, usa’および‘nashua, new hampshire, usa’が同じ標準名に一致します。

  • fuzzy=>1の場合、0の場合に一致する値に加え、‘nashuaa,NH,usa’(都市名がスペル・ミス)が同じ標準名に一致します。

次の例では、サンフランシスコに関する情報を検索します。ファジー・マッチは使用しません。

SELECT * from TABLE(sdo_util.geo_search('San Francisco,Ca,UNITED STATES'));

次の例では、ファジー・マッチを使用する(fuzzy値が1)ため、nameパラメータの都市名にスペル・ミスがありますが(Sanf Fracisco)、San Francisco, Californiaに一致するものが検出されます。

SELECT * from TABLE(sdo_util.geo_search('Sanf Fracisco,Ca,UNITED STATES', 1));