ビデオ: はじめての Azure CosmosDB | 日本マイクロソフト 2024
多くのNoSQLデータベースは、クエリ機能と特定の検索機能をサポートしています。適切なものを選択することは、サポートする必要のある機能を理解することによく見られます。
それらは関連していますが、クエリと検索はかなり異なっています。クエリは、その中のすべての用語に一致する結果のみを返します。一方、検索にはオプションの語を含めることができ、通常は関連性の計算によって順序付けられた結果を提供します。
<! - 1 - >関連性の計算により、より柔軟な検索の相互作用が可能になります。検索を行っているユーザーは、結果が一致する最後の呼び出しを行います。検索エンジンは順序付きのヒントを提供するだけです。
検索とクエリの両方で、レコードの日付フィールド値が2つの値の間にある場合など、正確な値の一致と範囲のクエリが有効になります。範囲クエリは多くのNoSQLデータベースや検索エンジンでサポートされていないため、必要な場合は選択プロセスの早い段階でこれを確認してください。
<! - 2 - >ほとんどの検索エンジンは、レコード全体を検索し、検索条件を特定のフィールド(「公開日」など)に限定するように設計されています。一般的には、次のような複数のフリーテキストクエリメソッドが利用できます。
-
各単語がORで結合された単語クエリ だから "adam fowler blog"はadam OR fowlerまたはブログとして評価されますすべての単語のうちの1つだけを使用する場合よりも高い関連性スコアが得られます。
<! -----> -
フレーズ全体が1として扱われるフレーズクエリ: だから、「マウスとメンズの」は、結果が同じ順序ですべての単語を持つように評価されます試合。
-
ワイルドカード: "run *"を検索すると、 "run"、 "runs"、 "running"、および "runner"の結果が返されます。 "
-
ステミング: " run "を検索すると" ran "と" runs "の結果が返されますが、" running "や" runner "は返されません。 「cat」を検索すると、「cats」の結果も返されます。 "
-
レメリゼーション: これはステミングよりも高度な方法です。例えば、「より良い」という用語の見出し化は、 補題 (語のベースまたは辞書形式)になります。この場合、「良い」です。 "
ほとんどの人は、ユーザーフレンドリーなので、Googleスタイルの検索ボックスで検索語を入力する方が好きです。
検索エンジンは、 検索文法というテキスト形式をサポートしています。 Googleでは、たとえば、「site:uk AND Adam Fowler AND London」と入力すると、英国のWebサイトの語句とAdam Fowlerというフレーズが含まれているすべてのドキュメントに一致します。
括弧を使用すると、用語を用語にネストすることもできます。これは、AND、OR、NOTなどのブール演算子で特に便利です。
時には、より構造化されたクエリメカニズムが必要になることがあります。通常、これはJSON形式またはXML形式の、きめ細かな形式です。良い例が地理空間クエリにあります。検索に必要な領域の境界ボックスを指定するのは、フリーテキスト検索バーに座標を入力するのではなく、ボックスを描画して地図上で行うのが最適です。
ポイント:
-
正確なポイントに一致します。 点の半径:
-
ある点(円形の領域)の距離内で一致します。 境界ボックス:
-
四角い領域に一致します(マップの表示領域のように)。 ポリゴン:
-
フリーハンドまたは不規則な形状に一致します。良い例は、郡や州の形です。これらは基本的に領域内の座標の大きな配列です。 ポリゴン - ポリゴンの交点:
-
レコード内のポリゴン(前のクエリータイプのレコード内のポイントとは対照的)とクエリーポリゴンを一致させます。クエリーポリゴンがレコード内のポリゴンに触れているのか、それとも完全に含まれているのか、まったく見逃していますか?このタイプのクエリは処理が多く必要であり、広くサポートされていませんが、防衛産業では必要です。地理空間クエリは、特定の座標参照システム(CRSと呼ばれる)がどのように世界を表すかについての複雑な数学に大きく依存していることに注意することが重要です。たとえば、GPSデバイスではWGS84(EPSG:4326とも呼ばれる)というシステムを使用しますが、オンラインマップではEPSG:900916 CRSシステムを使用します。データベースが地理空間データをどのように格納し、必要な変換をどのように格納するかを認識することは非常に重要です。そうしないと、まったくマッチしないかもしれませんし、意図した結果から数百ヤード離れているかもしれません。 一部の検索エンジンは、ユーザーがクエリを入力するのに役立つメソッドもサポートしています。これは、Googleのオートコンプリート機能で最も明白です。クエリの入力を開始すると、Googleから選択する最も可能性の高いクエリが表示されます。多くの検索エンジンで同様の機能がサポートされています。
さらに多くの検索機能が利用できるため、検索エンジンを選択する前に調査を行ってください。