SITECORE MANIA 開発者向け技術ブログ

インデックス検索

岡田

岡田

Solrの検索で引っかかった時の対処法について

今回はSolrの検索を行う際に問題が発生した時に実行した対処法をご紹介します。
※発生した環境はSitecore9.1のInitial Release
※今後のアップデートで解消される可能性もあります。

発生した問題とはstring型で値を入れたとあるフィールド([フィールド名]_s)を検索したいのに、検索されるのは[フィールド名_t]で検索されてしまうので検索にかからないという問題でした。

検索したいフィールドはSolrで該当のCoreを検索して参照し、検索されているクエリは"Sitecoreのルートパス\Website名\App_Data\logs"内にあるSearch.logを参照します。


上記が記載されているファイルは"Sitecoreのルートパス\Website名\App_Config\Sitecore\ContentSearch\Sitecore.ContentSearch.Solr.DefaultIndexConfiguration.config"に記述されています。

_tが_sになるようにパッチファイルを適用するとSolr側でも[フィールド名]_sで値が入り、実際に検索されるのも[フィールド名]_sの形で検索されるようになりました。

Solrの画面


Search.logの画面

今回の開発ではtypeNameのstringとtextを区別する必要がなかったため、このような対処法で検索をうまく動かすことができました。
またtypeNameのstringとtextの他にもtextCollectionとstringCollectionもtypeは同じSystem.Stringですがフォーマットが異なります。

何故このように判定されるかまで調査に至っていませんが、検索がどうしても引っ掛けられないという方の助けになればと思います。

以上です。



※エントリーの内容・画像等は、公開時点での情報に基づきます。
※Sitecoreのバージョンによって実装されている機能が異なります。

この記事を読んだ人はこちらの記事も読んでます

Sitecore導入に関するご相談・資料ダウンロード

導入をご検討・ご依頼の方や、サービスについてご不明点がございましたらお気軽にお問い合わせください。

Sitecoreの運用問題を解決する

既にSitecoreを導入しているお客様向けサービス