nullまたはempty文字列のクエリ

Version:
日本語翻訳に関する免責事項

このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。

分析データの性質上、時にはnullや空の文字列値のクエリを実行したいことがあります。

Sitecore LINQ層とインデックス層の両方で、物理的な値のEMPTYVALUEとNULLVALUEを格納することでこれをサポートしています。SitecoreこれをLINQ層で変換するため、通常通りLINQクエリを書くだけで済みます。

FieldMapで空文字列とnullサポートを希望するフィールドを指定する必要があります。空文字列やnullはインデックスに保存すべきではありません。スペースを無駄にするためです。

しかし、場合によってはこれを行う必要があります。例えば、性別を指定していないすべての顧客をユーザーが検索し、その顧客に連絡して確認できるようにしたい場合です。これを可能にするためには、FieldMapを設定してGenderフィールドに空文字列を保存する必要があります。

nullValueパラメータやemptyStringパラメータにカスタム値を使用することも可能です。唯一の制限は、アナライザを通過した後に値が単一の項を生成する必要があることです。

実際のフィールド値と混同されないユニークな置換トークンを使うのが良いアイデアです。

Solrで空文字列やnullを保存するためにFieldMapの設定

Solrの場合は、セクションのApp_Config\Include\Sitecore.ContentSearch.Solr.Indexes.configファイルでこれを行います。

例えば、性別フィールドが空の項目を検索できるようにする場合:

## 空文字列を検索するためのコードの使用

上記の構成を実装した後、次のクエリを実行すると、"" をEMPTYVALUEに、nullをNULLVALUEにマッピングします:

return context.GetQueryable().Where(i => i.Gender == “”).Take(10).ToList();

空文字列を探すためのSitecore UIの使用

空文字列を格納するフィールドを設定した後、ユーザーは置換トークンを値として使ってSitecore UIから空文字列やnull値を検索できます。

例えば、上記の構成を実装した後、Search欄に「gender: EMPTYVALUE」を入力することで**、空の性別**フィールドのアイテムを見つけることができます。

Search for an empty string
この記事を改善するための提案がある場合は、 お知らせください!