Extension:CirrusSearch
CirrusSearch Sürüm durumu: kararlı |
|
---|---|
Uygulama | Ara, API , Kanca |
Açıklama | Elasticsearch kullanarak MediaWiki aramasını uygular |
Yazar(lar) | Nik Everett, Chad Horohoe, Erik Bernhardson |
En son sürüm | güncellemeler devam etmekte |
Uyumluluk politikası | MediaWiki ile birlikte anlık görüntüler yayımlanır. Master geriye dönük olarak uyumlu değil. |
MediaWiki | >= 1.43 |
Composer | mediawiki/cirrussearch |
Lisans | GNU Genel Kamu Lisansı 2.0 veya üstü |
İndir | README |
|
|
|
|
|
|
Quarterly downloads | 282 (Ranked 18th) |
Public wikis using | 1,226 (Ranked 212nd) |
Translatewiki.net adresinde mevcutsa, CirrusSearch uzantısını çevirin | |
Vagrant rolü | cirrussearch |
Sorunlar | Açık görevler · Hata bildir |
CirrusSearch uzantısı, Elasticsearch kullanarak MediaWiki aramasını gerçekleştirir.
CirrusSearch has been slated for migration to use OpenSearch as its backend, but this decision is being reviewed based on a late August 2024 blog post from the upstream provider of the current search backend concerning its licensing. Please see Wikimedia Search Platform/Decision Records/Search backend replacement technology for more information. |
Elasticsearch is a standalone third-party software you must install as a requirement for this extension. It is a database system that provides search and indexing functionality, where the current text of your wiki pages gets indexed for faster and improved search results. The communication between MediaWiki and ElasticSearch is done through web services.
See also the help page on using this extension.
Hedefler
- Bunu yüklemeyi zorlaştıracak yerel bağımlılık yok
** Tek bağımlılıklar saf PHP MediaWiki uzantıları ve Elasticsearch'ın kendisidir
- Diğer MediaWiki uzantılarıyla genişletilebilen viki sayfaları için neredeyse gerçek zamanlı bir arama dizini sağlayın
- MWSearch kullanıcılara verdiği tüm sorgu seçeneklerini ve daha fazlasını sağlayın
Bağımlılıklar
- PHP ve cURL
- PHP için standart MediaWiki gereksinimlerine ek olarak, CirrusSearch PHP'nin cURL desteğiyle derlenmesini gerektirir.
- Elasticsearch
- Elasticsearch'ı yüklemeniz gerekecektir.
Every version of ElasticSearch changes how web services work and causes compatibility problems. You must install the version of Elastic Search compatible with the version of MediaWiki you are currently using:
Elasticsearch versions before 6.8 are incompatible with PHP 8+.
Ek olarak OpenJDK gibi bir Java kurulumunun gerekli olduğuna dikkat edin. Resmi Elasticsearch Docker resmini veya kendi kendine barındırılan bir sürümü kullanmak en iyisidir. Amazon OpenSearch (eski adıyla Amazon Elasticsearch) gibi yönetilen bir ürün çalışabilir ancak özelliklerine bağlı olarak ek yapılandırma gerektirebilir. Örneğin, Amazon OpenSearch yalnızca 443 numaralı bağlantı noktasında HTTPS üzerinden Elasticsearch API isteklerini dinler (yani, varsayılan Elasticsearch bağlantı noktası 9200'ü göstermez), bu nedenle TLS etkin bir proxy (ör. Nginx), CirrusSearch'ün bir Amazon OpenSearch kümesiyle iletişim kurmasını sağlayabilir.
- Elastica, Elasticsearch ile konuşmak için bir PHP kitaplığıdır. Elastica'yı aşağıdaki talimatlara göre yükleyin.
- Diğer
- CirrusSearch uzantısı tarafından işlerin fiili olarak işlenmesi nedeniyle, Notice: unserialize(): Error at offset 64870 of 65535 bytes in JobQueueDB.php gibi mesajları ve Unsupported operand types gibi sonraki hataları önlemek için Redis'de işler ayarlamanız önerilir. görev T157759 sayfasına bakın.
Kurulum
Aşağıdaki talimatlar size Composer'ı Git'ten kurarken çalıştırmanızı söylese de, tüm PHP bağımlılıklarını kurmak için yine de düzenlemeniz gerekebilir.
- Dosyaları indirin ve
extensions/
klasörünüzdekiElastica
adlı dizine yerleştirin.
Developers and code contributors should install the extension from Git instead, using:cd extensions/
git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/Elastica - Yalnızca git dizininden yüklerken, PHP bağımlılıklarını uzantı dizinine
composer install --no-dev
vererek yüklemek için Composer komutunu çalıştırın. (Potansiyel komplikasyonlar için görev T173141 sayfasına bakınız.) - LocalSettings.php dosyanızın altına aşağıdaki kodu ekleyin:
wfLoadExtension( 'Elastica' );
- Yapıldı – Uzantının başarıyla yüklendiğini doğrulamak için vikinizde Special:Version seçeneğine gidin.
CirrusSearch
- Dosyaları indirin ve
extensions/
klasörünüzdekiCirrusSearch
adlı dizine yerleştirin.
Developers and code contributors should install the extension from Git instead, using:cd extensions/
git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/CirrusSearch - Yalnızca git dizininden yüklerken, PHP bağımlılıklarını uzantı dizinine
composer install --no-dev
vererek yüklemek için Composer komutunu çalıştırın. (Potansiyel komplikasyonlar için görev T173141 sayfasına bakınız.) - LocalSettings.php dosyanızın altına aşağıdaki kodu ekleyin:
wfLoadExtension( 'CirrusSearch' );
- Şimdi, uzantınız, yani
$IP/extensions/CirrusSearch/README
ile birlikte verilen CirrusSearch README içindeki kurulum talimatlarını izleyin. İçindeki tüm bilgilerin uzantı sürümünüz için, özellikle desteklenen Elasticsearch sürümü için geçerli olmayabileceğini unutmayın. - Gerektiği gibi yapılandırın.
- Yapıldı – Uzantının başarıyla yüklendiğini doğrulamak için vikinizde Special:Version seçeneğine gidin.
Enable regex queries
This is an optional step. You will need to install the search-extra plugin for this. Do so by following these steps:
- execute the following command:
/usr/share/elasticsearch/bin/elasticsearch-plugin/elasticsearch-plugin install org.wikimedia.search:extra:7.10.2-wmf12
- add the following line to your
LocalSettings.php
file:$wgCirrusSearchWikimediaExtraPlugin[ 'regex' ] = [ 'build', 'use', 'max_inspect' => 10000 ];
- restart Elasticsearch with the following command:
systemctl restart elasticsearch
- recreate the search index by executing the following commands:
php path/to/extensions/CirrusSearch/maintenance/UpdateSearchIndexConfig.php --startOver
php path/to/extensions/CirrusSearch/maintenance/ForceSearchIndex.php
Yükseltme
Lütfen CirrusSearch UPGRADE dosyasındaki yükseltme talimatlarını izleyin.
Yapılandırma
CirrusSearch'ın yapılandırma parametreleri "settings.txt" dosyasında belgelenmiştir. CirrusSearch yapılandırma profilleri ile ilgili belgelere de bakın.
$wgCirrusSearchIndexBaseName
yapılandırma parametresini sağlar, ör. $wgCirrusSearchIndexBaseName = 'mywikidatabasename';
.
Kancalar
CirrusSearch uzantısı, diğer uzantıların temel şemayı genişletmek ve belgeleri değiştirmek için kullanabileceği bir dizi kancayı tanımlar. Aşağıdaki kancalar mevcuttur:
- CirrusSearchAnalysisConfig - analiz için yapılandırmasına bağlanmaya izin verir
- CirrusSearchMappingConfig - alanların eşleştirilmesinin yapılandırılmasına izin verir
- CirrusSearchBuildDocumentParse - uzantıların bir sayfadan üretilen ElasticSearch belgesini değiştirmesine izin verir
- CirrusSearchBuildDocumentLinks - uzantıların belge için gelen ve giden bağlantıları işlemesine izin verir
- CirrusSearchBuildDocumentFinishBatch - bir grup sayfa dizine eklendiğinde çağrılır
- CirrusSearchAddQueryFeatures - uzantıların sorgu ayrıştırıcı özellikleri eklemesine izin verir
- CirrusSearchScoreBuilder - uzantıların yeniden çekirdek oluşturucu işlevlerini tanımlamasına izin verir
- CirrusSearchProfileService - uzantının çeşitli arama bileşenlerini ve yapılandırmasını bildirmesine izin verir
API
CirrusSearch özellikleri API sorgularında kullanılabilir.
Arama normal arama API'si, action=query&list=search
; Marie Curie ve radyum ile ilgili sayfaları bulmak için morelike: i
özel öneki gibi CirrusSearch'e özgü özellikleri kullanabilirsiniz: [$urlquery api.php?action=query&list=search&srsearch=morelike:Marie_Curie%7Cradium&srlimit=10&srprop=size&formatversion=2]
api.php?action=query&list=search&srsearch=morelike:Marie_Curie%7Cradium&srlimit=10&srprop=size&formatversion=2
CirrusSearch yapılandırma ve hata ayıklama bilgilerini sorgulamak için özel API'ler ve parametreler sağlanır:
action=cirrusdump
modülü: 2014?action=cirrusdumpcirrusDumpQuery
parametresini Special:Search ile veya arama API sorgularına: https://en.wikipedia.org/wiki/Special:Search/cat%20dog%20chicken?cirrusDumpQuerycirrusDumpResult
parametresini Special:Search ile veya arama API sorgularına: https://en.wikipedia.org/wiki/Special:Search/cat%20dog%20chicken?cirrusDumpResultcirrusExplain
ek bir parametre,cirrusDumpResult
ile iletilebilir ve sonuç dökümüne dahil edilen puanın Lucene açıklamasını içerir: https://en.wikipedia.org/wiki/Special:Search/cat%20dog%20chicken?cirrusDumpResult&cirrusExplain Ayrıca açıklamayı almak için de kullanılabilir, insan tarafından okunabilir bir biçimde,verbose
,pretty
veyahot
değerlerinden birini vererek, örneğin: https://en.wikipedia.org/wiki/Special:Search/cat%20dog%20chicken?cirrusDumpResult&cirrusExplain=pretty- CirrusSearch kurulumundan döküm elde etmek için
cirrus-config-dump
,cirrus-settings-dump
,cirrus-mapping-dump
,cirrus-profiles-dump
modülleri: api.php?action=cirrus-config-dump&formatversion=2
Ayrıca bakınız
- Genel bağlantılar
- Kullanım yardım sayfası - CirrusSearch kullanım belgeleri (kurulumdan sonra gereklidir)
- Proje sayfası
- Wikimedia Cirrus/Elastic kurulumu hakkında bilgi
- Yapılandırma yardım sayfası - indekslemenin çeşitli yönlerini etkileyen ayarlanabilir parametre setleri
- Extension:WikiSearch - provides faceted search API for Semantic MediaWiki using ElasticSearch.
- Extension:AdvancedSearch - Enhances Special:Search by providing advanced parameters
- Hata ayıklama
Yerel geliştirmesi
Elastic Search hizmeti, Vagrant rolü (cirrussearch
) ve MediaWiki Vagrant ile çalıştırılabilir.
Docker için docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:6.8.2
gibi bir komut kullanabilirsiniz.
Ardından kurulum ve yapılandırma talimatlarını izleyin.
Web barındırıcınız bir kapsayıcıdaysa, yukarıdaki kapsayıcının aynı ağda olduğundan emin olmak ve LocalSettings.php
'de ana bilgisayar adı olarak elasticsearch
ile kaynaklamak isteyeceksiniz.
Bu, WMF eklentilerine sahip olmayacak, ancak temel test için yeterli olabilir.
Bu uzantı bir veya daha fazla Wikimedia projelerinde kullanılıyor. Bu, muhtemelen uzantının kararlı olduğu ve bu tür yüksek trafikli web siteleri tarafından kullanılacak kadar iyi çalıştığı anlamına gelir. Nerede kurulduğunu görmek için bu uzantının adını Wikimedia'nın CommonSettings.php ve InitialiseSettings.php yapılandırma dosyalarında arayın. Belirli bir vikide yüklü olan uzantılar listesinin tamamı vikinin Special:Version sayfasında görülebilir. |
This extension is included in the following wiki farms/hosts and/or packages: This is not an authoritative list. Some wiki farms/hosts and/or packages may contain this extension even if they are not listed here. Always check with your wiki farms/hosts or bundle to confirm. |
- Stable extensions/tr
- Search extensions/tr
- API extensions/tr
- Hook extensions/tr
- Extensions supporting Composer/tr
- GPL licensed extensions/tr
- Extensions in Wikimedia version control/tr
- APIAfterExecute extensions/tr
- APIQuerySiteInfoGeneralInfo extensions/tr
- APIQuerySiteInfoStatisticsInfo extensions/tr
- ApiBeforeMain extensions/tr
- ArticleRevisionVisibilitySet extensions/tr
- BeforeInitialize extensions/tr
- CirrusSearchAddQueryFeatures extensions/tr
- CirrusSearchAnalysisConfig extensions/tr
- CirrusSearchSimilarityConfig extensions/tr
- GetPreferences extensions/tr
- LinksUpdateComplete extensions/tr
- PageDelete extensions/tr
- PageDeleteComplete extensions/tr
- PageMoveComplete extensions/tr
- PageUndeleteComplete extensions/tr
- PrefixSearchExtractNamespace extensions/tr
- ResourceLoaderGetConfigVars extensions/tr
- SearchGetNearMatch extensions/tr
- SearchIndexFields extensions/tr
- ShowSearchHitTitle extensions/tr
- SoftwareInfo extensions/tr
- SpecialSearchResults extensions/tr
- SpecialSearchResultsAppend extensions/tr
- SpecialStatsAddExtra extensions/tr
- TitleMove extensions/tr
- UploadComplete extensions/tr
- UserGetDefaultOptions extensions/tr
- All extensions/tr
- Extensions requiring Composer with git/tr
- Extensions used on Wikimedia/tr
- Extensions included in Canasta/tr
- Extensions included in Miraheze/tr
- Extensions included in MyWikis/tr
- Extensions included in semantic::core/tr
- Extensions included in wiki.gg/tr
- Extensions included in WikiForge/tr
- Discovery/tr
- Search/tr