Merge "Define index types as strings"
authorjenkins-bot <jenkins-bot@gerrit.wikimedia.org>
Tue, 23 Apr 2019 08:57:59 +0000 (08:57 +0000)
committerGerrit Code Review <gerrit@wikimedia.org>
Tue, 23 Apr 2019 08:57:59 +0000 (08:57 +0000)
includes/search/SearchEngine.php
includes/search/SearchIndexField.php
includes/search/SearchIndexFieldDefinition.php

index 6bbcd4b..d0912c5 100644 (file)
@@ -741,7 +741,7 @@ abstract class SearchEngine {
         * Create a search field definition.
         * Specific search engines should override this method to create search fields.
         * @param string $name
-        * @param int $type One of the types in SearchIndexField::INDEX_TYPE_*
+        * @param string $type One of the types in SearchIndexField::INDEX_TYPE_*
         * @return SearchIndexField
         * @since 1.28
         */
index daeb5f5..7bc4ba5 100644 (file)
@@ -15,17 +15,17 @@ interface SearchIndexField {
         * https://wikimediafoundation.org/2018/08/07/anatomy-search-token-affection/
         * https://wikimediafoundation.org/2018/09/13/anatomy-search-variation-under-nature/
         */
-       const INDEX_TYPE_TEXT = 0;
+       const INDEX_TYPE_TEXT = 'text';
        /**
         * KEYWORD fields are indexed without any processing, so are appropriate
         * for e.g. URLs.  The content will often consist of a single token.
         */
-       const INDEX_TYPE_KEYWORD = 1;
-       const INDEX_TYPE_INTEGER = 2;
-       const INDEX_TYPE_NUMBER = 3;
-       const INDEX_TYPE_DATETIME = 4;
-       const INDEX_TYPE_NESTED = 5;
-       const INDEX_TYPE_BOOL = 6;
+       const INDEX_TYPE_KEYWORD = 'keyword';
+       const INDEX_TYPE_INTEGER = 'integer';
+       const INDEX_TYPE_NUMBER = 'number';
+       const INDEX_TYPE_DATETIME = 'datetime';
+       const INDEX_TYPE_NESTED = 'nested';
+       const INDEX_TYPE_BOOL = 'bool';
 
        /**
         * SHORT_TEXT is meant to be used with short text made of mostly ascii
@@ -33,7 +33,7 @@ interface SearchIndexField {
         * is used and aggressive splitting to increase recall.
         * E.g suited for mime/type
         */
-       const INDEX_TYPE_SHORT_TEXT = 7;
+       const INDEX_TYPE_SHORT_TEXT = 'short_text';
 
        /**
         * Generic field flags.
index a11dff9..d0d2b89 100644 (file)
@@ -20,7 +20,7 @@ abstract class SearchIndexFieldDefinition implements SearchIndexField {
        /**
         * Type of the field, one of the constants above
         *
-        * @var int
+        * @var string
         */
        protected $type;
 
@@ -44,7 +44,7 @@ abstract class SearchIndexFieldDefinition implements SearchIndexField {
 
        /**
         * @param string $name Field name
-        * @param int $type Index type
+        * @param string $type Index type
         */
        public function __construct( $name, $type ) {
                $this->name = $name;