IndexerInterface.php 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. /**
  7. * Index Engine Interface
  8. */
  9. namespace Magento\Framework\Indexer\SaveHandler;
  10. use Magento\Framework\Search\Request\Dimension;
  11. /**
  12. * Indexer persistence handler
  13. *
  14. * @api
  15. * @since 100.0.2
  16. */
  17. interface IndexerInterface
  18. {
  19. /**
  20. * Add entities data to index
  21. *
  22. * @param Dimension[] $dimensions
  23. * @param \Traversable $documents
  24. * @return IndexerInterface
  25. */
  26. public function saveIndex($dimensions, \Traversable $documents);
  27. /**
  28. * Remove entities data from index
  29. *
  30. * @param Dimension[] $dimensions
  31. * @param \Traversable $documents
  32. * @return IndexerInterface
  33. */
  34. public function deleteIndex($dimensions, \Traversable $documents);
  35. /**
  36. * Remove all data from index
  37. *
  38. * @param Dimension[] $dimensions
  39. * @return IndexerInterface
  40. */
  41. public function cleanIndex($dimensions);
  42. /**
  43. * Define if engine is available
  44. *
  45. * @param Dimension[] $dimensions
  46. * @return bool
  47. */
  48. public function isAvailable($dimensions = []);
  49. }