我正在使用 magento 2.4.2 和 elasticsearch 7.10.2
我所看到的是,即使在后端对 elasticsearch 中的结果进行了正确排序,但在前端却显示错误。这是一个例子,语言是西班牙语,所以“lapices de colores”的意思是“彩色铅笔”。
如果我运行这个命令:
curl 'localhost:9200/store_product_1_v118/_search?pretty&q=lapices+de+colores'
我得到以下结果(为方便起见,我只显示第一个命中)
"hits" : [
{
"_index" : "store_product_1_v118",
"_type" : "document",
"_id" : "9323",
"_score" : 13.052037,
"_source" : {
"store_id" : "1",
"sku" : "PEL800049",
"status" : 1,
"status_value" : "Habilitado",
"visibility" : 4,
"tax_class_id" : 2,
"tax_class_id_value" : "Taxable Goods",
"name" : "lapices de colores pastel pelikan x12",
"url_key" : "lapices-de-colores-pastel-pelikan-x12",
"category_ids" : [
2,
135,
139,
214,
452
],
"position_category_2" : "10000",
"name_category_2" : "RA▒~MZ ",
"position_category_135" : "0",
"name_category_135" : "ESCOLAR",
"position_category_139" : "0",
"name_category_139" : "LAPICES DE COLORES",
"position_category_214" : "0",
"name_category_214" : "LIBRERIA ",
"position_category_452" : "0",
"name_category_452" : "▒~ZTILES ESCOLARES Y KITS",
"price_0_1" : "570.000000",
"price_1_1" : "570.000000",
"price_2_1" : "570.000000",
"price_3_1" : "570.000000"
....
但是,如果我在商店中运行相同的查询,即 url:
https://store24.com.ar/catalogsearch/result/?q=lapices+de+colores
结果虽然相关,但不是 elasticsearch 给出的结果。
在管理面板中,stores->Catalog->Catalog->“Product Listing Sort By”是按位置设置的。
我猜这是一个模板问题,但我不知道如何解决这个问题。这是模板使用的 sorter.phtml 文件:
<div class="toolbar-sorter sorter">
<label class="sorter-label" for="sorter"><?php /* @escapeNotVerified */ echo __('Sort by') ?></label>
<select id="sorter" data-role="sorter" class="sorter-options">
<?php foreach ($block->getAvailableOrders() as $_key => $_order): ?>
<option value="<?php /* @escapeNotVerified */ echo $_key; ?>"
<?php if ($block->isOrderCurrent($_key)): ?>
selected="selected"
<?php endif; ?>
>
<?php echo $block->escapeHtml(__($_order)) ?>
</option>
<?php endforeach; ?>
</select>
<?php if ($block->getCurrentDirection() == 'desc'): ?>
<a title="<?php /* @escapeNotVerified */ echo __('Set Ascending Direction') ?>" href="#" class="action sorter-action sort-desc" data-role="direction-switcher" data-value="asc">
<span><?php /* @escapeNotVerified */ echo __('Set Ascending Direction') ?></span>
</a>
<?php else: ?>
<a title="<?php /* @escapeNotVerified */ echo __('Set Descending Direction') ?>" href="#" class="action sorter-action sort-asc" data-role="direction-switcher" data-value="desc">
<span><?php /* @escapeNotVerified */ echo __('Set Descending Direction') ?></span>
</a>
<?php endif; ?>
我不确定在哪里或寻找什么,有什么想法吗?