MediaWiki REL1_33
|
Definition of a mapping for the search index field. More...
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 = 6 |
const | INDEX_TYPE_DATETIME = 4 |
const | INDEX_TYPE_INTEGER = 2 |
const | INDEX_TYPE_KEYWORD = 1 |
KEYWORD fields are indexed without any processing, so are appropriate for e.g. | |
const | INDEX_TYPE_NESTED = 5 |
const | INDEX_TYPE_NUMBER = 3 |
const | INDEX_TYPE_SHORT_TEXT = 7 |
SHORT_TEXT is meant to be used with short text made of mostly ascii technical information. | |
const | INDEX_TYPE_TEXT = 0 |
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.
Definition at line 6 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 44 of file SearchIndexField.php.
Referenced by ContentHandler\getFieldsForSearchIndex(), and FileContentHandler\getFieldsForSearchIndex().
const SearchIndexField::FLAG_NO_HIGHLIGHT = 4 |
This field does not need highlight handling.
Definition at line 56 of file SearchIndexField.php.
Referenced by WikitextContentHandler\getFieldsForSearchIndex().
const SearchIndexField::FLAG_NO_INDEX = 8 |
Do not index this field, just store it.
Definition at line 61 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 51 of file SearchIndexField.php.
Referenced by WikitextContentHandler\getFieldsForSearchIndex().
const SearchIndexField::INDEX_TYPE_BOOL = 6 |
Definition at line 28 of file SearchIndexField.php.
const SearchIndexField::INDEX_TYPE_DATETIME = 4 |
Definition at line 26 of file SearchIndexField.php.
const SearchIndexField::INDEX_TYPE_INTEGER = 2 |
Definition at line 24 of file SearchIndexField.php.
Referenced by FileContentHandler\getFieldsForSearchIndex().
const SearchIndexField::INDEX_TYPE_KEYWORD = 1 |
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 23 of file SearchIndexField.php.
Referenced by ContentHandler\getFieldsForSearchIndex(), FileContentHandler\getFieldsForSearchIndex(), and TextContentHandler\getFieldsForSearchIndex().
const SearchIndexField::INDEX_TYPE_NESTED = 5 |
Definition at line 27 of file SearchIndexField.php.
Referenced by SearchIndexFieldTest\getMergeCases().
const SearchIndexField::INDEX_TYPE_NUMBER = 3 |
Definition at line 25 of file SearchIndexField.php.
const SearchIndexField::INDEX_TYPE_SHORT_TEXT = 7 |
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 36 of file SearchIndexField.php.
Referenced by FileContentHandler\getFieldsForSearchIndex().
const SearchIndexField::INDEX_TYPE_TEXT = 0 |
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 18 of file SearchIndexField.php.
Referenced by ContentHandler\getFieldsForSearchIndex(), FileContentHandler\getFieldsForSearchIndex(), WikitextContentHandler\getFieldsForSearchIndex(), SearchEngineTest\hookSearchIndexFields(), and SearchEngineTest\testSearchIndexFields().