問題タブ [azure-search-.net-sdk]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
azure - DataChangePolicy Azure 検索 SDK 3.0.3 を設定する方法
データベースの変更ポリシーを有効にしました
Azure インデックス側では、Datasource.AzureSql に以下を使用します
このテーブルに新しい行を挿入すると、Azure 検索側でインデックスが自動的に更新されないようです。新しい行を追加した後、インデックス ジョブをほとんど実行する必要があります。私が間違っていることを追跡またはデバッグするにはどうすればよいですか?
SDK 3.0.3 で azure sql と azure search を使用しています
情報源
c# - Azure Search のドキュメント デザイン
誰かが解決策を持っているかどうか、またはAzure Searchで使用するために一部のデータをモデル化するためのガイダンスを提供できるかどうかを確認するために投稿しています。
問題のドメイン
現在 DocumentDB を使用して、検索したいデータをモデル化しています。現時点で「エンティティ A」と呼ぶ私のドキュメントは次のようになります。
関係: タグ 0...n エンティティ A & 場所 0...n エンティティ A
エンティティ A をフラット化し、タグの名前、説明、ファセットの単純なインデックスとクエリを設定することは問題なく、うまく機能します。
問題は、場所をインデックスに追加しようとすることにあります。事実上、私が検索したいのは(自然言語で)次のとおりです。特定の用語について、x開始日とy終了日と重なる座標の近くにあるすべてのEntity Asを見つけます
私がオンラインで見つけることができるものから-場所を平坦化することは、それらが文字列になる場合にのみ機能します。
https://blogs.msdn.microsoft.com/kaevans/2015/03/09/indexing-documentdb-with-azure-seach/ https://docs.microsoft.com/en-us/azure/search/search- howto-index-json-blobs
これは、ジオディスタンスと日付範囲のクエリを実行できる能力を失っているようです。
現在の考え
エンティティ A ドキュメントを 2 つのコレクションに分割する
新しいエンティティ A のドキュメント:
および複数のロケーション エンティティ
質問:
新しいエンティティ A 用と場所用の 2 つのインデックスを作成し、結果を結合した方がよいでしょうか?
これはマルチテナント検索だと思い ます https://docs.microsoft.com/en-us/azure/search/search-modeling-multitenant-saas-applications
これを実装する例を知っている人はいますか?
長所
- うまくいくと思う
短所
- クエリごとに 2 つの検索ヒットが必要になり、結果をマージする必要があります (これは理想的である場合とそうでない場合があります)。
また
エンティティ A とロケーション エンティティを完全に「反転」することをお勧めします。
長所
- すでにかなりフラットなので、インデックスとクエリが簡単になるはずです
- 1 回の検索ヒットでマージなし
短所
- 名前、説明、タグなどが変更された場合、複数の更新が必要になります。
- 日付が複数の開始日と終了日にまたがる場合、同じ「エンティティ A」に対して複数の結果が得られます
また
別のオプションはありますか?
ありがとうございます。必要に応じて明確にさせていただきます
azure-cognitive-search - ファセット値のリストをフィルタリングする
インデックスに「キーワード」フィールドがあります。これは Facetable であり、Collection(Edm.String) 型です。
私の UI では、上位 10 個のキーワードを返すこのフィールドのファセットを表示します。個別のキーワード値の合計数は数百になる場合があります。そこで、ユーザーが用語を入力できるようにしたいと思います。この用語を含む上位 10 個のファセット値が返されます。これは、フィールドのファセット値のリストをフィルタリングするようなものです。
現在、これは Azure Search API で可能ですか?
c# - Azure検索でフィールドに基づいて検索する方法は?
私は紺碧の検索を使用しており、以下のコードを含むコンソール アプリを使用していますが、正常に動作しています。
現在、「smart」という単語を含むテキストを検索しています。これは簡単です。必要なのは、テーブルにいくつかのフィールドがあり、フィールドに基づいて検索したいということです。
たとえば、1) タイトル 2) SoldDate という 2 つのフィールドがあるとします。
タイトルが「john」で、販売日が現在の日付よりも小さいアイテムを見つけるためのコードを作成する必要があります。
これを達成するにはどうすればよいですか?