私はエンタープライズ magento 1.10 を使用しており、より良い検索結果を得るためにカスタム フィールドを solr インデックスに追加する必要があります。このカスタム フィールドには、インデックス化された製品のカテゴリ名が含まれている必要があります。
Magento のどの部分を修正する必要があるかを知る必要があります。メソッド Enterprise_Search_Model_Resource_Index::_getCatalogCategoryData を変更しました。これは実際にいくつかのカテゴリ関連データを生成しますが、新しいフィールドは sorl へのメッセージに表示されません。
私は何かを見逃していますか?
また、ここにメモがあります。誰かが助けてくれるかもしれません
書き直した Enterprise_Search_Model_Resource_Index::_getCatalogCategoryData の出力で、solr に category_name_level_* が必要です。
[result] => Array
(
[12227] => Array
(
[#categories] => Array
(
[0] => 2
[3] => 3235
[7] => 2765
[10] => 6672
)
[#show_in_categories] => Array
(
[1] => 6671
[2] => 6670
[4] => 3224
[5] => 3199
[6] => 3191
[8] => 2761
[9] => 2760
)
[#position_category_2] => 1
[#position_category_6671] => 120000
[#position_category_6670] => 120000
[#position_category_3235] => 0
[#position_category_3224] => 150000
[#position_category_3199] => 150000
[#position_category_3191] => 120000
[#position_category_2765] => 1
[#position_category_2761] => 250001
[#position_category_2760] => 250001
[#position_category_6672] => 0
[#visibility] => 4
[#category_name_level_1] => Array
(
[0] => BCC Root Category
)
[#category_name_level_4] => Array
(
[0] => Huishouden
[1] => Top wasmachines
[2] => Accessoires wasmachine
)
[#category_name_level_3] => Array
(
[0] => Beste Koop Shop
[1] => Top
[2] => Wasmachine
)
[#category_name_level_2] => Array
(
[0] => Acties
[1] => Speciale informatie pagina's
[2] => Huishouden
)
[#category_name_level_5] => Array
(
[0] => Wasmachines
)
)
)
どうもありがとう、ジャロ。
解決策を見つけました
class Xyz_Solrsearch_Model_Resource_Engine extends Enterprise_Search_Model_Resource_Engine {
public function __construct()
{
$this->_advancedDynamicIndexFields[] = '#category_name_level_';
parent::__construct();
}
}