| Tam metin arama | |
|---|---|
| Veri türlerinin veritabanı tablolarını depolamak için karakter dizileri veya metinler kullandığı özellikler için tam metin arama desteği. ör. datatype "Page"Holds names of wiki pages, and displays them as a link, datatype "Text"Holds text of arbitrary length, datatype "Code"Holds technical, pre-formatted texts (similar to datatype Text) veya datatype "URL"Holds URIs, URNs and URLs, vb. | |
| Keywords | |
| Table of Contents | |
Semantic MediaWiki 2.5.0Released on 14 March 2017 and compatible with MW 1.23.0 - 1.29.x., veri türlerinin veritabanı tablolarını depolamak için karakter dizileri veya metinler kullandığı özellikler için ilişkisel veritabanlarının (SQL arka ucu) tam metin yeteneklerine erişmek için deneysel bir destek ekler, ör. datatype "Page"Holds names of wiki pages, and displays them as a link, datatype "Text"Holds text of arbitrary length, datatype "Code"Holds technical, pre-formatted texts (similar to datatype Text) veya datatype "URL"Holds URIs, URNs and URLs, vb. Bu veri türleri, verilerini veritabanı tablolarında saklamak için CHAR, VARCHAR veya TEXT kullanır.
Bu özellik hala deneysel olarak kabul edildiğinden varsayılan olarak etkin değildir. Viki için configuration parameter
$smwgEnabledFulltextSearchSets whether full-text search support for properties may be used ile etkinleştirilebilir.
- PostgreSQL12 şu anda desteklemeyince MySQL/MariaDB3 ve SQLite4 desteği eklendi.
- Yalnızca
SMWSQLStore3,SPARQLStoreüçlü mağaza tarafından tam metin arama yeteneklerinin yerel desteğini gerektireceğinden desteklenmektedir.
Gereksinimler[edit]
- Semantic MediaWiki 2.5.0+
SMWSQLStore3MySQL 5.5+3, MariaDB 10.0.5+3 veya SQLite 3.8+4 kullanarak- PHP 5.5+
Özellikler ve sınırlamalar[edit]
- Genel notlar
- The
FT_SEARCHtable aggregates search content for datatypes storing their data asBLOBandURIvalues against an index search is being executed, e.g. datatype "Page"Holds names of wiki pages, and displays them as a link, datatype "Text"Holds text of arbitrary length, datatype "Code"Holds technical, pre-formatted texts (similar to datatype Text) or datatype "URL"Holds URIs, URNs and URLs, etc. - Supported operations rely on the relational backend database (MySQL, MariaDB and SQLite)
- For MySQL and MariaDB databases,
IN BOOLEAN MODEis used as default search mode - Relevance and scores are not used for any sorting purpose, e.g. as in best match
TextSanitizerrelies on the "onoi/tesa" library5 to help with the sanitization of text or string elements to provide some text manipulation support as well as a possibility to use language detection if enabled. This library is pre-installed for use by Semantic MediaWiki.- Custom stopwords are only applied by the "onoi/tesa" library5 in case the language detection is enabled but MySQL/MariaDB provide their own standard list6 which are enabled by default
- Starting with Semantic MediaWiki 3.0.0Released on 11 October 2018 and compatible with MW 1.27.0 - 1.31.x.:
- If the
SMW_FIELDT_CHAR_NOCASEoption to configuration parameter$smwgFieldTypeFeaturesSets relational database specific field type features is enabled the full-text search only comes into effect for selections using the comparators~and!~.7 - API-module "smwtask"Allows to invoke and execute internal Semantic MediaWiki tasks is used instead of a socket connection via a special page to invoke extra "work" after an update has been completed as part of an independent transaction.8 See also configuration parameter
$smwgPostEditUpdateSets how many jobs should be executed as part of a post-edit event.
- If the
- Notes on Chinese, Japanese, and Korean support (CJK)
- General CJK support is a challenging endeavour due to text elements to be broken into corresponding tokens that are not separate by spaces
- The "onoi/tesa" library5 provides some simple
Tokenizer's which does not require language detection and will try to provide rudimentary CJK search out-of-the box. This however requires ICU 54+ which is still not being used by MediaWiki as of version 1.29-alpha. - Mroonga is a MySQL storage engine and said to be a CJK-ready fulltext search, column store
- MySQL comes with an optional ngram Full-Text Parser and MeCab Full-Text Parser Plugin.
- Bu soruna göre MariadDB'de bu ayrıştırıcı eklentileri eksik
Yapılandırma[edit]
- Configuration parameter
$smwgEnabledFulltextSearchSets whether full-text search support for properties may be used − Özelliği etkinleştirmeye izin verir - Configuration parameter
$smwgFulltextDeferredUpdateSets the number of expected full-text search index updates − Beklenen dizin güncellemelerinin sayısını azaltmaya izin verir - Configuration parameter
$smwgFulltextSearchTableOptionsSets the full-text search table options to use during installation or update − Veritabanıyla ilgili seçenekleri ayarlamaya izin verir - Configuration parameter
$smwgFulltextSearchMinTokenSizeSets the minimum word/token length to help to decide whether MATCH or LIKE operators are to be used for a condition statement − Minimum kelimeyi/anahtarı açıklamaya izin verir - Configuration parameter
$smwgFulltextLanguageDetectionSets which languages to detect for the full-text search from an indexable text − Bir dili algılamaya izin verir (deneysel ayar) - Configuration parameter
$smwgFulltextSearchIndexableDataTypesSets which datatypes are allowed to be indexed using the full-text search − İndekslenmesi gereken veri türlerini listelemeye izin verir - Configuration parameter
$smwgFulltextSearchPropertyExemptionListSets the property keys for which value assignments are being exempted from the full-text indexing − Dizine eklenmemesi gereken özelliklerin listelenmesine izin verir
Yukarıdaki ayarlardan herhangi birinde yapılan değişiklikler, maintenance script "rebuildFulltextSearchTable.php"Allows to rebuild the full text search data table yeniden çalıştırılmasını gerektirir.
Kullanım ve talimatlar[edit]
- kullanıcılar için
- Arama, mevcut arama sözdizimi hakkında bazı örnekler ve açıklamalar içerir
- sistem hizmetlileri için
- İndeksleme, indeks tablosunun manüel olarak nasıl oluşturulacağı ve güncelleneceği ile ilgili bazı yöntemleri açıklar
- geliştiriciler için
- Teknik notlar, teknik uygulama, ince ayar ve performans hakkında bazı bilgiler sağlar
References
- ^ | Semantic MediaWiki: GitHub pull request gh:smw:1956
- ^ | PostgreSQL, farklı bir dizin şeması nedeniyle desteklenmiyor (ör.
to_tsvector,to_tsquery) ancak bunu kullanıma sunmak isteyen kullanıcıların, PostgreSQL'e özgü bir uygulamanın nasıl oluşturulacağıyla ilgili "MySQLValueMatchConditionBuilder" ile bir göz atmaları önerilir. - a b c | Semantic MediaWiki: GitHub pull request gh:smw:1481
- a b | Semantic MediaWiki: GitHub pull request gh:smw:1801
- a b c | "onoi/tesa" - Metin veya dizi öğelerinin sterilize edilmesine yardımcı olacak küçük bir kitaplık.
- ^ | https://dev.mysql.com/doc/refman/5.6/en/fulltext-stopwords.html ve https://mariadb.com/kb/en/mariadb/stopwords/
- ^ Semantic MediaWiki: GitHub issue comment gh:smw:2499:307624826
- ^ Semantic MediaWiki: GitHub pull request gh:smw:3318