Magento 2.3 с открытым исходным кодом - Как реализовать стоп-слова в ElasticSearch 6.x


С внедрением пользовательских зависимостей модуля следующим образом:

  1. di.xml в каталоге app/code/Custom/Stopwords/etc.

    <type name="Magento\Elasticsearch\SearchAdapter\Query\Preprocessor\Stopwords">
     <arguments>
         <argument name="stopwordsDirectory" xsi:type="string">app/code/Custom/Stopwords/etc/stopwords</argument>
     </arguments>
    

  2. stopwords_en_US.csv в каталоге app/code/Custom/Stopwords/etc/stopwords, скопированном у поставщика.

Руководство по разработке документов, на которое я ссылаюсь

Редактировать

Я хотел бы добавить несколько стоп-слов в файл .csv. Добавили стоп-слова как следует:

Подробнее меньше некоторые немногие другое разное все

Проблема - после добавления вышеуказанных стоп-слов он не применяется.

Author: MageSoftech, 2019-12-22

1 answers

Я столкнулся с той же проблемой, что и вы, следуя предоставленной документации. Вы следовали указанию Изменить каталог стоп-слов вместо этого вы хотите следовать инструкциям в разделе Чтобы изменить каталог из вашего модуля

В вашем пользовательском модуле etc/di.xml файл добавьте в следующий

<type name="Magento\Elasticsearch\SearchAdapter\Query\Preprocessor\Stopwords">
<arguments>
   <argument name="stopwordsModule" xsi:type="string">Your_Module</argument>
   <argument name="stopwordsDirectory" xsi:type="string">stopwords</argument>
</arguments>

Затем обязательно скопируйте vendor\magento\module-elasticsearch\etc\stopwords\stopwords.csv в app/code/Your/Module/etc/stopwords/stopwords.csv и добавьте свои слова в конец файла, добавив новую строку для каждого слова.

Как только вы закончите, я рекомендуем перестроить индексы.

 1
Author: fab5freddy, 2020-11-09 22:59:04