Extension:CirrusSearch

From mediawiki.org
This page is a translated version of the page Extension:CirrusSearch and the translation is 100% complete.
MediaWiki manüel uzantıları
OOjs UI icon advanced-invert.svg
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.37.0
Composer mediawiki/cirrussearch
Lisans GNU Genel Kamu Lisansı 2.0 veya üstü
İndir
README
  • $wgCirrusSearchLanguageWeight
  • $wgCirrusSearchAutomationCIDRs
  • $wgCirrusSearchUseIcuFolding
  • $wgCirrusSearchStemmedWeight
  • $wgCirrusSearchQueryStringMaxDeterminizedStates
  • $wgCirrusSearchCrossClusterSearch
  • $wgCirrusSearchExtraIndexSettings
  • $wgCirrusSearchAutomationUserAgentRegex
  • $wgCirrusSearchTalkNamespaceWeight
  • $wgCirrusSearchPrefixWeights
  • $wgCirrusSearchPrefixSearchRescoreProfile
  • $wgCirrusSearchDisableUpdate
  • $wgCirrusSearchActiveTest
  • $wgCirrusSearchMoreLikeThisMaxQueryTermsLimit
  • $wgCirrusSearchUseIcuTokenizer
  • $wgCirrusSearchCompletionBannedPageIds
  • $wgCirrusSearchOptimizeIndexForExperimentalHighlighter
  • $wgCirrusSearchRescoreProfiles
  • $wgCirrusSearchPhraseRescoreBoost
  • $wgCirrusSearchInterwikiProv
  • $wgCirrusSearchDefaultCluster
  • $wgCirrusSearchQueryStringMaxWildcards
  • $wgCirrusSearchElasticQuirks
  • $wgCirrusSearchMaxFileTextLength
  • $wgCirrusSearchFallbackProfiles
  • $wgCirrusSearchMoreLikeThisTTL
  • $wgCirrusSearchAllowLeadingWildcard
  • $wgCirrusSearchInterwikiPrefixOverrides
  • $wgCirrusSearchMaintenanceTimeout
  • $wgCirrusSearchReplicas
  • $wgCirrusSearchPhraseSlop
  • $wgCirrusSearchBoostOpening
  • $wgCirrusSearchWriteBackoffExponent
  • $wgCirrusSearchUserTesting
  • $wgCirrusSearchShardCount
  • $wgCirrusSearchUseCompletionSuggester
  • $wgCirrusSearchPhraseSuggestReverseField
  • $wgCirrusSearchFallbackProfile
  • $wgCirrusSearchFragmentSize
  • $wgCirrusSearchUnlinkedArticlesToUpdate
  • $wgCirrusSearchCustomPageFields
  • $wgCirrusSearchClientSideUpdateTimeout
  • $wgCirrusSearchIgnoreOnWikiBoostTemplates
  • $wgCirrusSearchRegexMaxDeterminizedStates
  • $wgCirrusSearchInterwikiHTTPConnectTimeout
  • $wgCirrusSearchExtraIndexes
  • $wgCirrusSearchCategoryDepth
  • $wgCirrusSearchMergeSettings
  • $wgCirrusSearchClusters
  • $wgCirrusSearchAllFields
  • $wgCirrusSearchBannedPlugins
  • $wgCirrusSearchMoreLikeThisConfig
  • $wgCirrusSearchClusterOverrides
  • $wgCirrusSearchCrossProjectBlockScorerProfiles
  • $wgCirrusSearchNearMatchWeight
  • $wgCirrusSearchWriteIsolateClusters
  • $wgCirrusSearchIndexedRedirects
  • $wgCirrusSearchIndexAllocation
  • $wgCirrusSearchNumCrossProjectSearchResults
  • $wgCirrusSearchLanguageDetectors
  • $wgCirrusSearchUpdateShardTimeout
  • $wgCirrusSearchEnableCrossProjectSearch
  • $wgCirrusSearchFullTextQueryBuilderProfiles
  • $wgCirrusSearchCompletionDefaultScore
  • $wgCirrusSearchWriteClusters
  • $wgCirrusSearchCompletionSuggesterHardLimit
  • $wgCirrusSearchRecycleCompletionSuggesterIndex
  • $wgCirrusSearchLogElasticRequests
  • $wgCirrusSearchConnectionAttempts
  • $wgCirrusSearchWikiToNameMap
  • $wgCirrusSearchMaxFullTextQueryLength
  • $wgCirrusSearchLogElasticRequestsSecret
  • $wgCirrusSearchEnableRegex
  • $wgCirrusSearchClientSideSearchTimeout
  • $wgCirrusSearchExtraBackendLatency
  • $wgCirrusSearchNamespaceMappings
  • $wgCirrusSearchWMFExtraFeatures
  • $wgCirrusSearchPreferRecentUnspecifiedDecayPortion
  • $wgCirrusSearchNamespaceResolutionMethod
  • $wgCirrusSearchCategoryMax
  • $wgCirrusSearchSearchShardTimeout
  • $wgCirrusSearchCategoryEndpoint
  • $wgCirrusSearchPrivateClusters
  • $wgCirrusSearchSimilarityProfiles
  • $wgCirrusSearchCrossProjectShowMultimedia
  • $wgCirrusSearchWeights
  • $wgCirrusSearchPoolCounterKey
  • $wgCirrusSearchCompletionProfiles
  • $wgCirrusSearchMaxShardsPerNode
  • $wgCirrusSearchEnableArchive
  • $wgCirrusSearchIndexDeletes
  • $wgCirrusSearchSimilarityProfile
  • $wgCirrusExploreSimilarResults
  • $wgCirrusSearchFiletypeAliases
  • $wgCirrusSearchDevelOptions
  • $wgCirrusSearchBoostTemplates
  • $wgCirrusSearchPrefixIds
  • $wgCirrusSearchPrefixSearchStartsWithAnyWord
  • $wgCirrusSearchUpdateConflictRetryCount
  • $wgCirrusSearchInterwikiHTTPTimeout
  • $wgCirrusSearchFetchConfigFromApi
  • $wgCirrusSearchFullTextQueryBuilderProfile
  • $wgCirrusSearchExtraIndexBoostTemplates
  • $wgCirrusSearchStripQuestionMarks
  • $wgCirrusSearchIndexBaseName
  • $wgCirrusSearchTextcatModel
  • $wgCirrusSearchMoreLikeThisFields
  • $wgCirrusSearchMasterTimeout
  • $wgCirrusSearchTextcatConfig
  • $wgCirrusSearchSanityCheck
  • $wgCirrusSearchInterwikiThreshold
  • $wgCirrusSearchNamespaceWeights
  • $wgCirrusSearchCrossProjectOrder
  • $wgCirrusSearchRescoreProfile
  • $wgCirrusSearchRescoreFunctionChains
  • $wgCirrusSearchMoreAccurateScoringMode
  • $wgCirrusSearchMaxPhraseTokens
  • $wgCirrusSearchCrossProjectSearchBlockList
  • $wgCirrusSearchCrossProjectProfiles
  • $wgCirrusSearchLanguageToWikiMap
  • $wgCirrusSearchMaxIncategoryOptions
  • $wgCirrusSearchEnableAltLanguage
  • $wgCirrusSearchWikimediaExtraPlugin
  • $wgCirrusSearchCompletionSuggesterUseDefaultSort
  • $wgCirrusSearchLinkedArticlesToUpdate
  • $wgCirrusSearchCompletionSuggesterSubphrases
  • $wgCirrusSearchPreferRecentDefaultHalfLife
  • $wgCirrusSearchSlowSearch
  • $wgCirrusSearchFunctionRescoreWindowSize
  • $wgCirrusSearchEnablePhraseSuggest
  • $wgCirrusSearchCompletionSettings
  • $wgCirrusSearchUseExperimentalHighlighter
  • $wgCirrusSearchFeedbackLink
  • $wgCirrusSearchUpdateDelay
  • $wgCirrusSearchRefreshInterval
  • $wgCirrusSearchInterleaveConfig
  • $wgCirrusSearchPhraseRescoreWindowSize
  • $wgCirrusSearchMoreLikeThisAllowedFields
  • $wgCirrusSearchPreferRecentDefaultDecayPortion
  • $wgCirrusSearchClientSideConnectTimeout
  • $wgCirrusSearchPhraseSuggestUseText
  • $wgCirrusSearchPhraseSuggestProfiles
  • $wgCirrusSearchDefaultNamespaceWeight
  • $wgCirrusSearchInterwikiSources
  • $wgCirrusSearchPhraseSuggestUseOpeningText
  • $wgCirrusSearchICUNormalizationUnicodeSetFilter
  • $wgCirrusSearchICUFoldingUnicodeSetFilter
  • $wgCirrusSearchReplicaGroup
Translatewiki.net adresinde mevcutsa, CirrusSearch uzantısını çevirin

Kullanım ve sürüm matrisini kontrol edin.

Vagrant rolü cirrussearch
Sorunlar Açık görevler · Hata bildir

CirrusSearch uzantısı, Elasticsearch kullanarak MediaWiki aramasını gerçekleştirir.

Elastic Search is a standalone third-party software that must be installed in advance. It's a database system that provides search and indexing functionality, and where the current text of all pages of your wiki will be indexed for faster search results. The communication between MediaWiki and ElasticSearch is done through web services.

Bu sayfa kurulum içindir. Yükleme çalıştıktan sonra kullanım için Help:CirrusSearch sayfasına bakın.

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
Elasticsearch

Every version of ElasticSearch change how web services work, and cause compatibility problems. You must install the version of Elastic Search compatible with the version of MediaWiki you are currently using:

  • MediaWiki 1.29.x - 1.30.x, Elasticsearch 5.3.x - 5.4.x gerektirir.
  • MediaWiki 1.31.x - 1.32.x, Elasticsearch 5.5.x - 5.6.x gerektirir.
  • MediaWiki 1.33.x - 1.38.x, Elasticsearch 6.5.x - 6.8.x gerektirir (6.8.23+ önerilir)

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
  • 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

Elastica

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üzdeki Elastica adlı dizine yerleştirin.
  • 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' );
    
  • Yes 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üzdeki CirrusSearch adlı dizine yerleştirin.
  • 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.
  • Yes Yapıldı – Uzantının başarıyla yüklendiğini doğrulamak için vikinizde Special:Version seçeneğine gidin.

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.

MySQL için büyük karakter içeren bir veritabanı adı kullanılıyorsa, Elasticsearch CirrusSearch için indeksleme yapamaz, örn. "MyWikiDatabaseName". Bu CirrusSearch etkisini azaltmak için, ayarlanması gereken $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:

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: 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:

Ayrıca bakınız

Genel bağlantılar
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.