MediaWiki master
|
Definition of a mapping for the search index field. More...
Inherited by NullIndexField, and SearchIndexFieldDefinition.
Public Member Functions | |
checkFlag ( $flag) | |
Check if flag is set. | |
getEngineHints (SearchEngine $engine) | |
A list of search engine hints for this field. | |
getMapping (SearchEngine $engine) | |
Get mapping for specific search engine. | |
merge (SearchIndexField $that) | |
Merge two field definitions if possible. | |
setFlag ( $flag, $unset=false) | |
Set global flag for this field. | |
Public Attributes | |
const | FLAG_CASEFOLD = 1 |
Generic field flags. | |
const | FLAG_NO_HIGHLIGHT = 4 |
This field does not need highlight handling. | |
const | FLAG_NO_INDEX = 8 |
Do not index this field, just store it. | |
const | FLAG_SCORING = 2 |
This field contains secondary information, which is already present in other fields, but can be used for scoring. | |
const | INDEX_TYPE_BOOL = 'bool' |
const | INDEX_TYPE_DATETIME = 'datetime' |
const | INDEX_TYPE_INTEGER = 'integer' |
const | INDEX_TYPE_KEYWORD = 'keyword' |
KEYWORD fields are indexed without any processing, so are appropriate for e.g. | |
const | INDEX_TYPE_NESTED = 'nested' |
const | INDEX_TYPE_NUMBER = 'number' |
const | INDEX_TYPE_SHORT_TEXT = 'short_text' |
SHORT_TEXT is meant to be used with short text made of mostly ascii technical information. | |
const | INDEX_TYPE_TEXT = 'text' |
TEXT fields are suitable for natural language and may be subject to analysis such as stemming. | |
Definition of a mapping for the search index field.
Must not be implemented directly by extensions, extend SearchIndexFieldDefinition instead.
Definition at line 10 of file SearchIndexField.php.
SearchIndexField::checkFlag | ( | $flag | ) |
Check if flag is set.
int | $flag |
Implemented in NullIndexField, and SearchIndexFieldDefinition.
SearchIndexField::getEngineHints | ( | SearchEngine | $engine | ) |
A list of search engine hints for this field.
Hints are usually specific to a search engine implementation and allow to fine control how the search engine will handle this particular field.
For example some search engine permits some optimizations at index time by ignoring an update if the updated value does not change by more than X% on a numeric value.
SearchEngine | $engine |
Implemented in NullIndexField, and SearchIndexFieldDefinition.
SearchIndexField::getMapping | ( | SearchEngine | $engine | ) |
Get mapping for specific search engine.
SearchEngine | $engine |
Implemented in DummySearchIndexFieldDefinition, NullIndexField, and SearchIndexFieldDefinition.
SearchIndexField::merge | ( | SearchIndexField | $that | ) |
Merge two field definitions if possible.
SearchIndexField | $that |
Implemented in NullIndexField, and SearchIndexFieldDefinition.
SearchIndexField::setFlag | ( | $flag, | |
$unset = false ) |
Set global flag for this field.
int | $flag | Bit flag to set/unset |
bool | $unset | True if flag should be unset, false by default |
Implemented in NullIndexField, and SearchIndexFieldDefinition.
const SearchIndexField::FLAG_CASEFOLD = 1 |
Generic field flags.
This field is case-insensitive.
Definition at line 48 of file SearchIndexField.php.
const SearchIndexField::FLAG_NO_HIGHLIGHT = 4 |
This field does not need highlight handling.
Definition at line 60 of file SearchIndexField.php.
const SearchIndexField::FLAG_NO_INDEX = 8 |
Do not index this field, just store it.
Definition at line 65 of file SearchIndexField.php.
const SearchIndexField::FLAG_SCORING = 2 |
This field contains secondary information, which is already present in other fields, but can be used for scoring.
Definition at line 55 of file SearchIndexField.php.
const SearchIndexField::INDEX_TYPE_BOOL = 'bool' |
Definition at line 32 of file SearchIndexField.php.
const SearchIndexField::INDEX_TYPE_DATETIME = 'datetime' |
Definition at line 30 of file SearchIndexField.php.
const SearchIndexField::INDEX_TYPE_INTEGER = 'integer' |
Definition at line 28 of file SearchIndexField.php.
const SearchIndexField::INDEX_TYPE_KEYWORD = 'keyword' |
KEYWORD fields are indexed without any processing, so are appropriate for e.g.
URLs. The content will often consist of a single token.
Definition at line 27 of file SearchIndexField.php.
const SearchIndexField::INDEX_TYPE_NESTED = 'nested' |
Definition at line 31 of file SearchIndexField.php.
const SearchIndexField::INDEX_TYPE_NUMBER = 'number' |
Definition at line 29 of file SearchIndexField.php.
const SearchIndexField::INDEX_TYPE_SHORT_TEXT = 'short_text' |
SHORT_TEXT is meant to be used with short text made of mostly ascii technical information.
Generally a language agnostic analysis chain is used and aggressive splitting to increase recall. E.g suited for mime/type
Definition at line 40 of file SearchIndexField.php.
const SearchIndexField::INDEX_TYPE_TEXT = 'text' |
TEXT fields are suitable for natural language and may be subject to analysis such as stemming.
Read more: https://wikimediafoundation.org/2018/08/07/anatomy-search-token-affection/ https://wikimediafoundation.org/2018/09/13/anatomy-search-variation-under-nature/
Definition at line 22 of file SearchIndexField.php.