1

我正在使用 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; ?>

我不确定在哪里或寻找什么,有什么想法吗?

4

0 回答 0