Kv.php 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. <?php
  2. namespace Elastica\Processor;
  3. /**
  4. * Elastica KV Processor.
  5. *
  6. * @author Federico Panini <fpanini@gmail.com>
  7. *
  8. * @see https://www.elastic.co/guide/en/elasticsearch/reference/current/kv-processor.html
  9. */
  10. class Kv extends AbstractProcessor
  11. {
  12. /**
  13. * Kv constructor.
  14. *
  15. * @param string $field
  16. * @param string $fieldSplit
  17. * @param string $valueSplit
  18. */
  19. public function __construct(string $field, string $fieldSplit, string $valueSplit)
  20. {
  21. $this->setField($field);
  22. $this->setFieldSplit($fieldSplit);
  23. $this->setValueSplit($valueSplit);
  24. }
  25. /**
  26. * Set field name.
  27. *
  28. * @param string $field
  29. *
  30. * @return $this
  31. */
  32. public function setField(string $field)
  33. {
  34. return $this->setParam('field', $field);
  35. }
  36. /**
  37. * Set field_split.
  38. *
  39. * @param string $fieldSplit
  40. *
  41. * @return $this
  42. */
  43. public function setFieldSplit(string $fieldSplit)
  44. {
  45. return $this->setParam('field_split', $fieldSplit);
  46. }
  47. /**
  48. * Set value_split.
  49. *
  50. * @param string $valueSplit
  51. *
  52. * @return $this
  53. */
  54. public function setValueSplit(string $valueSplit)
  55. {
  56. return $this->setParam('value_split', $valueSplit);
  57. }
  58. /**
  59. * Set target_field. Default value @timestamp.
  60. *
  61. * @param string $targetField
  62. *
  63. * @return $this
  64. */
  65. public function setTargetField(string $targetField)
  66. {
  67. return $this->setParam('target_field', $targetField);
  68. }
  69. /**
  70. * Set include_keys.
  71. *
  72. * @param array $listOfKeys
  73. *
  74. * @return $this
  75. */
  76. public function setIncludeKeys(array $listOfKeys)
  77. {
  78. return $this->setParam('include_keys', $listOfKeys);
  79. }
  80. /**
  81. * Set exclude_keys.
  82. *
  83. * @param array $listOfKeys
  84. *
  85. * @return $this
  86. */
  87. public function setExcludeKeys(array $listOfKeys)
  88. {
  89. return $this->setParam('exclude_keys', $listOfKeys);
  90. }
  91. /**
  92. * Set ignore_missing. Default value false.
  93. *
  94. * @param bool $ignoreMissing only these values are allowed (integer|float|string|boolean|auto)
  95. *
  96. * @return $this
  97. */
  98. public function setIgnoreMissing(bool $ignoreMissing)
  99. {
  100. return $this->setParam('ignore_missing', $ignoreMissing);
  101. }
  102. }