nullまたは空の文字列のクエリ
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
分析データの性質上、nullまたは空の文字列値に対してクエリを実行したい場合があります。
Sitecoreは、EMPTYVALUEとNULLVALUEの物理値を格納することで、LINQレイヤーとインデックス レイヤーでこれをサポートします。SitecoreはこれをLINQレイヤーで変換するため、通常どおりLINQクエリを記述するだけです。
FieldMapで空の文字列とnullをサポートするフィールドを指定する必要があります。空の文字列とnullはスペースを浪費するため、インデックスに格納しないでください。
ただし、これを行う必要がある場合もあります。たとえば、ユーザーが性別を指定していないすべての顧客を検索し、これらの顧客に連絡して性別を判断できるようにする場合です。これを可能にするには、Genderフィールドに空の文字列を格納するようにFieldMapを設定する必要があります。
nullValueパラメータとemptyStringパラメータにはカスタム値を使用できます。唯一の制限は、値がアナライザーを通過した後に1つの用語を生成する必要があることです。
実際のフィールド値と混同できない一意の置換トークンを使用することをお勧めします。
Solrで空の文字列とnullを格納するためのFieldMapの構成
Solrで空の文字列とnullを格納するためのFieldMapの構成
Solrの場合、これは <fieldNames hint="raw:AddFieldByFieldName"> セクションのApp_Config\Include\Sitecore.ContentSearch.Solr.Indexes.configファイルで行います。
たとえば、性別フィールドが空のアイテムの検索を有効にするには、次のようにします。
コードを使用して空の文字列を検索する
コードを使用して空の文字列を検索する
上記のように構成を実装した後、次のクエリを実行すると、"" がEMPTYVALUEにマップされ、nullがNULLVALUEにマップされます。
Sitecore UIを使用して空の文字列を検索する
Sitecore UIを使用して空の文字列を検索する
空の文字列を格納するようにフィールドを設定した後、ユーザーは置換トークンを値として使用して、Sitecore UIから空の文字列またはnull値を検索できます。
たとえば、上記の設定を実装した後、Searchフィールドに「gender: EMPTYVALUE」と入力すると、Genderフィールドが空のアイテムを検索できます。
