Configurar palabras de parada de búsqueda
En general, stopwords son palabras comunes que los motores de búsqueda filtran después de procesar el texto. En un principio, cuando el espacio en disco y la memoria eran extremadamente limitados, cada kilobyte ahorrado significaba una mejora significativa en el rendimiento. Por lo tanto, los motores de búsqueda lograron mejoras en el rendimiento al ignorar ciertas palabras y mantener el índice pequeño.
Aunque hoy tenemos más almacenamiento, el rendimiento sigue siendo importante. Elasticsearch y OpenSearch, al igual que otros motores de búsqueda, siguen utilizando palabras de detención para mejorar el rendimiento.
Debe administrar las palabras de detención mediante archivos CSV ubicados en el directorio <magento_root>/vendor/magento/module-elasticsearch/etc/stopwords
o en el directorio <magento_root>/app/code/Magento/Elasticsearch/etc/stopwords/
, según la instalación del software de Commerce.
Para obtener más información sobre cómo Elasticsearch y OpenSearch utilizan palabras de parada, consulte los siguientes recursos:
Configurar palabras de parada
Las palabras de detención se encuentran en el directorio <magento_root>/vendor/magento/module-elasticsearch/etc/stopwords
. Adobe Commerce incluye un archivo CSV que contiene palabras de parada para las configuraciones regionales predeterminadas y un archivo adicional, stopwords.csv
, que tiene palabras de parada para cualquier configuración regional que no esté representada por otro archivo CSV.
La duración predeterminada de la caché del archivo de palabras de parada es de 15 minutos.
Editar palabras de parada para una configuración regional existente
Para editar palabras de detención:
-
Inicie sesión en el servidor de Commerce o cambie a propietario del sistema de archivos.
-
Use un editor de texto para abrir un archivo de palabras de detención en el directorio
<magento_root>/vendor/magento/module-elasticsearch/etc/stopwords
.Los archivos CSV utilizan la convención de nomenclatura
stopwords_<locale_code>.csv
. Por ejemplo, el nombre del archivo de palabras de detención en alemán esstopwords_de_DE.csv
. -
Agregar palabras, quitar palabras o cambiar palabras en el archivo.
(Cada palabra de parada de un archivo comienza en una nueva línea).
-
Guarde los cambios y salga del editor de texto.
-
Limpie la caché de configuración.
-
Administrador: Sistema > Herramientas > Administración de caché. Seleccione la casilla de verificación Configuración y, en la lista superior, haga clic en Actualizar. Haga clic en Enviar para completar la acción.
-
Línea de comandos: Como propietario del sistema de archivos, introduzca el siguiente comando:
code language-bash php <magento_root>/bin/magento cache:clean config
-
-
Comprueba los resultados buscando términos en tu tienda.
Crear palabras de parada para una nueva configuración regional
Para agregar palabras de parada para una configuración regional:
-
Inicie sesión en el servidor de Commerce o cambie a propietario del sistema de archivos.
-
Use un editor de texto para crear un archivo de palabras de detención denominado
stopwords_<locale_code>.csv
en el directorio<magento_root>/vendor/magento/module-elasticsearch/etc/stopwords
.Por ejemplo, para crear palabras de parada para la configuración regional italiana, asigne un nombre al archivo
stopwords_it_IT.csv
. -
En el archivo de palabras de detención, asegúrese de que cada palabra de detención está en una línea separada.
-
Guarde los cambios y salga del editor de texto.
-
En el mismo directorio, abra
esconfig.xml
en un editor de texto. -
Agregue una línea a
esconfig.xml
de la siguiente manera:code language-xml <LOCALE_CODE>stopwords_LOCALE_CODE.csv</LOCALE_CODE>
Por ejemplo, para agregar un archivo de palabras de cierre en italiano, agregue la siguiente línea:
code language-xml <it_IT>stopwords_it_IT.csv</it_IT>
-
Guarde los cambios en
esconfig.xml
y salga del editor de texto. -
Limpie la caché de configuración.
-
Administrador: Sistema > Herramientas > Administración de caché. Seleccione la casilla de verificación Configuración y, en la lista superior, haga clic en Actualizar. Haga clic en Enviar para completar la acción.
-
Línea de comandos: Como propietario del sistema de archivos, introduzca el siguiente comando:
code language-bash php <magento_root>/bin/magento magento cache:clean config
-
-
Comprueba los resultados buscando términos en tu tienda.
Cambiar el directorio de palabras de detención
En esta sección se explica cómo cambiar de forma opcional el directorio de palabras de detención predeterminado de una de las siguientes opciones:
<magento_root>/vendor/magento/module-elasticsearch/etc/stopwords
<magento_root>/app/code/Magento/Elasticsearch/etc/stopwords/
La ubicación depende de cómo haya instalado el software de Commerce. Si ha clonado el repositorio de GitHub de Magento 2, la ruta de acceso es app/code
. Si instaló un archivo comprimido o un metapaquete, la ruta de acceso es de vendor
.
Para cambiar el directorio:
-
Como propietario del sistema de archivos, abra el Elasticsearch
di.xml
en un editor de texto.Si clonó el repositorio, se encuentra en
app/code/Magento/Elasticsearch/etc/di.xml
Si tiene un archivo o el metapaquete, se encuentra en
vendor/magento/module-elasticsearch/etc/di.xml
-
Cambie el valor de
stopwordsDirectory
al directorio deseado:code language-xml <type name="Magento\Elasticsearch\SearchAdapter\Query\Preprocessor\Stopwords"> <arguments> <argument name="stopwordsDirectory" xsi:type="string">app/code/Magento/Elasticsearch/etc/stopwords</argument> </arguments> </type>
-
Guarde los cambios en
di.xml
y salga del editor de texto.
Para cambiar el directorio desde el módulo
-
En su módulo
etc/di.xml
agregue instrucciones:code language-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> </type>
-
En su módulo, cree el directorio
etc/stopwords
, con el archivo CSV correspondiente. -
Guarde los cambios en
di.xml
y salga del editor de texto.