Converter.php 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Elasticsearch\Model\Adapter\Index\Config;
  7. use Magento\Framework\Config\ConverterInterface;
  8. class Converter implements ConverterInterface
  9. {
  10. /**
  11. * {@inheritdoc}
  12. */
  13. public function convert($source)
  14. {
  15. $stemmer = $source->getElementsByTagName('stemmer');
  16. $stemmerInfo = [];
  17. foreach ($stemmer as $stemmerItem) {
  18. foreach ($stemmerItem->childNodes as $childNode) {
  19. if ($childNode->nodeType === XML_ELEMENT_NODE) {
  20. $stemmerInfo[$childNode->localName]= $childNode->textContent;
  21. }
  22. }
  23. }
  24. $stopwords = $source->getElementsByTagName('stopwords_file');
  25. $stopwordsInfo = [];
  26. foreach ($stopwords as $stopwordsItem) {
  27. foreach ($stopwordsItem->childNodes as $childNode) {
  28. if ($childNode->nodeType === XML_ELEMENT_NODE) {
  29. $stopwordsInfo[$childNode->localName]= $childNode->textContent;
  30. }
  31. }
  32. }
  33. return ['stemmerInfo' => $stemmerInfo, 'stopwordsInfo' => $stopwordsInfo];
  34. }
  35. }