まず、私はそうIDでトランザクションデータベースエンティティを行いAzureの検索インデックスフィールドID名前
どのように甘い:-)してください、専用の検索エンジンの概念は、すべて私に新しいものであることを言いたいと名前は「Azure Search Index」フィールドに変換されますか? Name
、またはId
とName
の両方を追加する必要がありますか?
たとえば、私のインデックスにクライアントを入れたいとしましょう。 私は、クライアント上でファセットを検索して持ちたいと思っています。
インデックスにはClientName
を追加してください。 ClientName
の名前を変更したらどうなりますか? ClientName
が一意でない場合はどうなりますか?
は私がインデックスに両方のフィールドを追加している必要があります
ClientName
:検索可能ClientId
:Facetable、濾過可能
は、私が(代わりにクライアント名の)ClientIdをFacetableを行います持っ理解しますAzure Searchによって返されたClientIdに対応する名前を自分自身で取得しなければならないので、ファセットを表示する作業が増えます。
また、ClientId
をフィルタリング可能にして、ClientName
のバッチリネームを実行できるとします。
私の推論は大丈夫ですか?
ベストプラクティス/ガイドラインはありますか?ここで
EDIT
は、より具体的な例です。 レッツは、私たちがAzureの検索では、これらのファセットを構築した場合、推奨されるアプローチは次のようになり
...、トランザクションDBに、我々はId
とFormat
ためName
、Location
、Author
、Genre
、Region
とテーブルを持っていることを言いますそれぞれにId
とName
を追加し、Id
フィールドをFacetableに設定しますか?
ユージンありがとう、これは間違いなく役立ちます。私はより具体的な例で私の質問を編集しました。なぜなら、名前付け規則についてのあなたの言及についてはわからないからです。私はここで文書キーについて話していません。 –
こんにちはGuillaume、あなたの編集は、階層的ファセットをサポートする必要があるように見えます。これを処理するには本当に良いテクニックがあります。このテクニックは[ここ]で読むことができます(https://blogs.technet.microsoft.com/onsearch/2015/09/09/multi-level-taxonomy-facets-in-紺 - 検索/)。これがあなたのために働かないか、私があなたを誤解した場合は、私たちにお知らせください。 –
いいえ、マルチレベルはありませんが、リンクのおかげで、これは素晴らしいです!私の質問は、実際のデータベースに変更が加えられたとき、例えばProductCategory.Nameの名前が変更されたとき、ProductModel.Nameの名前が変更されたとき、モデルに新しい製品が追加されたとき、 ProductCategoryId、ProductIdなどのIDがインデックスに必要であると想定していますか? –