本文整理汇总了PHP中Mage_Eav_Model_Entity_Attribute_Abstract::getSearchWeight方法的典型用法代码示例。如果您正苦于以下问题:PHP Mage_Eav_Model_Entity_Attribute_Abstract::getSearchWeight方法的具体用法?PHP Mage_Eav_Model_Entity_Attribute_Abstract::getSearchWeight怎么用?PHP Mage_Eav_Model_Entity_Attribute_Abstract::getSearchWeight使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Mage_Eav_Model_Entity_Attribute_Abstract
的用法示例。
在下文中一共展示了Mage_Eav_Model_Entity_Attribute_Abstract::getSearchWeight方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: _getFieldMapping
/**
* get elasticsearch field mapping
*
* @param $attribute Mage_Eav_Model_Entity_Attribute_Abstract
* @param $fieldType
* @return array
*/
protected function _getFieldMapping(Mage_Eav_Model_Entity_Attribute_Abstract $attribute, $fieldType, $fieldName)
{
switch ($fieldType) {
case 'date':
$mapping['type'] = 'date';
$mapping['format'] = 'yyyy-MM-dd HH:mm:ss||yyyy-MM-dd';
break;
case 'string':
//@todo add backend flags for analyzers and so on
if (1 == $attribute->getisSearchable() || 1 == $attribute->getisVisibleInAdvancedSearch()) {
$mapping = array('type' => 'multi_field', 'fields' => array($fieldName => array("store" => 'no', 'type' => 'string', 'boost' => $attribute->getSearchWeight()), 'untouched' => array('type' => 'string', 'index' => 'not_analyzed')));
//for now we implementing all analyzer
//@todo make multiselect in backend to make analyser selectable
$settings = $this->_getIndexSettings();
foreach (array_keys($settings['analysis']['analyzer']) as $analyzer) {
$mapping['fields'][$analyzer] = array('type' => 'string', 'analyzer' => $analyzer, 'boost' => $attribute->getSearchWeight());
}
} else {
$mapping = array('type' => 'string', 'index' => 'not_analyzed');
}
break;
default:
$mapping = array('type' => $fieldType);
break;
}
return $mapping;
}