Help:CirrusSearch

This page is a translated version of the page Help:CirrusSearch and the translation is 100% complete.
Other languages:
Bahasa Indonesia • ‎Deutsch • ‎English • ‎Nederlands • ‎Sunda • ‎Türkçe • ‎català • ‎dansk • ‎español • ‎français • ‎interlingua • ‎italiano • ‎magyar • ‎polski • ‎português • ‎português do Brasil • ‎shqip • ‎suomi • ‎svenska • ‎čeština • ‎Ελληνικά • ‎български • ‎македонски • ‎русский • ‎українська • ‎ייִדיש • ‎עברית • ‎العربية • ‎فارسی • ‎پښتو • ‎हिन्दी • ‎বাংলা • ‎தமிழ் • ‎తెలుగు • ‎中文 • ‎日本語 • ‎한국어

Wikimedia projelerinde bilgi bulmanın en hızlı yolu, doğrudan aramaktır. Her sayfada bir ara kutusu vardır.

CirrusSearch, varsayılan MediaWiki araması üzerinden gelişmiş arama özellikleri sağlamak için Elasticsearch'ı kullanan bir MediaWiki uzantısıdır. Wikimedia Vakfı, tüm Wikimedia projeleri için CirrusSearch kullanmaktadır. Bu sayfa son çözümlere kıyasla yeni veya farklı özellikleri tanımlıyor. Sorunuz burada yanıtlanmadıysa, tartışma sayfasından sormaktan çekinmeyin, birisi sizin için yanıtlayacaktır.

MediaWiki uzantısı hakkında bilgi için Extension:CirrusSearch sayfasına bakın.

Nasıl çalışır

Anahtar kelimeleri ve cümleleri girin ve klavyenizdeki Enter veya Geri (Return) tuşuna basın. Veya büyüteç simgesini, Ara veya Git düğmesini tıklayın. Bir sayfanın başlığı girdiğinizle aynı ise, o sayfaya yönlendirileceksiniz. Aksi takdirde, vikideki tüm sayfaları arar ve arama terimlerinizle eşleşen maddelerin bir listesini veya hiçbir sayfada tüm anahtar kelimeleri ve cümleleri içermediğini bildiren bir mesaj sunar.

Hiçbir şeyi doldurmadan "Ara" düğmesini tıklarsanız, size ekstra arama seçenekleri sunan "Special:Search" seçeneğine gidersiniz (ayrıca arama sonuçları listesinden de erişilebilir)

Bir aramayı belirli bir ad alanı içindeki sayfalarla sınırlandırmayı yararlı bulabilirsiniz, örneğin, yalnızca User sayfalar içinde arama yapın. Bu arama için ihtiyaç duyduğunuz ad alanlarını kontrol edin.

Aşağıda belirtilen tüm anahtar kelimeler büyük/küçük harfe duyarlıdır.

Neler geliştirildi?

CirrusSearch, varsayılan MediaWiki aramasına göre üç ana iyileştirme sunar:

  • Farklı dillerde arama için daha iyi destek.
  • Arama dizininde daha hızlı güncellemeler, yani maddelerde ki değişiklikler arama sonuçlarına çok daha hızlı yansıtılır.
  • Genişleyen şablonlar, bir şablondaki tüm içeriğin artık arama sonuçlarına yansıtıldığı anlamına gelir.

Arama dizini ne sıklıkla güncellenir?

Arama dizinindeki güncellemeler neredeyse gerçek zamanlı olarak yapılır. Sayfalarda yapılan değişiklikler arama sonuçlarında hemen görünmelidir. Şablonlarda yapılan değişiklikler, şablonu içeren maddelerde birkaç dakika içinde geçerli olacaktır. Şablon değişiklikleri iş kuyruğunu kullanır, bu nedenle performans değişebilir. Maddeye yapılacak bir boş düzenleme, değişikliği zorlayacaktır, ancak her şey yolunda giderse bu gerekli olmamalıdır.

Arama önerileri

Aday sayfaları gösteren arama kutusuna yazdığınızda aldığınız arama önerileri, zor bir madde kalitesi ölçüsüne göre sıralanır. Bu, gelen vikibağlantıların sayısını, sayfanın boyutunu, dış bağlantıların sayısını, başlıkların sayısını ve yeniden yönlendirme sayısını hesaba katar. Arama önerileri atlanabilir ve sorgular doğrudan arama sonuçları sayfasına gider. Sorgudan önce yaklaşık işareti ~ ekleyin. Örnek "~Frida Kahlo". Arama önerileri görünmeye devam edecek, ancak herhangi bir zamanda Enter tuşuna basmanız sizi arama sonuçları sayfasına götürecektir.

Vurgu/aksan katlama bazı diller için açıktır; ayrıntılar dile özgüdür.

Tam metin arama

"Tam metin araması", bir "indekslenmiş aramadır". Tüm sayfalar viki veritabanında saklanır ve yönlendirilmeyen sayfalardaki tüm sözcükler, pratik olarak vikinin tam metninin indeksi olan arama veritabanında depolanır. Görünür her kelime, bulunduğu sayfaların listesine endekslenir, bu nedenle bir kelimeyi aramak, tek bir kayda bakmak kadar hızlıdır.[1] Ayrıca, ifadelerdeki herhangi bir değişiklik için, arama dizini saniyeler içinde güncellenir.

İhtiyaç duyulan birçok arama türünü kolaylaştırmak için wikinin birçok "tam metni" dizini vardır. Tam vikimetin, birçok özel amaçlı dizine dizilir, her biri vikimetini, kullanımlarını optimize edecek şekilde ayrıştırır. Örnek dizinler şunları içerir:

  • "yardımcı" metin, şapkalar, başlıklar, ToC ve bir HTML özelliği class=searchaux tarafından sınıflandırılan tüm vikimetinleri içerir.
  • "Giriş" metni, sayfanın üst kısmı ile ilk başlık arasında yer alan vikimetindir.
  • "Kategori" metni, en alttaki listeleri dizine ekler.
  • Şablonlar endekslenir. Bir şablonun yansıtılmış sözcükleri değişirse, onu aşan tüm sayfalar güncellenir. (Bu, bir iş kuyruğuna bağlı olarak uzun sürebilir.) Bir şablon tarafından kullanılan alt şablonlar değişirse, dizin güncellenir.
  • Dosya/Ortam ad alanında depolanan belge içerikleri artık dizine alınmıştır. Binlerce format tanınır.

Düzinelerce dil desteği var ancak tüm diller isteniyor. Şu anda desteklenen dillerin bir listesi elasticsearch.org adresinde bulunmaktadır; istekleri veya yamaları göndermek için katkıda bulunma ile ilgili belgelerine bakın. Üçüncü taraf açık kaynak kitaplıkları, Elasticsearch tarafından kapsanmayan ek dilleri desteklemek için de kullanılır.

CirrusSearch sorgunuzu optimize edecek ve çalıştıracaktır. Elde edilen başlıklar, alaka düzeyine göre ağırlıklandırılır ve arama sonuçları sayfası için bir seferde 20 büyük ölçüde sonradan işlenir. Örneğin, maddeden pasajlar toplanır ve arama terimleri kalın metinle vurgulanır.

Arama sonuçlarına genellikle çeşitli ön raporlar eşlik eder. Bunlar, Şunu mu demek istediniz (yazım düzeltmesi) içerir ve başka türlü sonuç bulunamadığında, Şunun için sonuçlar gösteriliyor (sorgu düzeltmesi) ve bunun yerine şunu arayın (sorgunuz) yazar.

Arama özellikleri ayrıca şunları içerir:

  • Gezinme önerilerini gelen bağlantıların sayısına göre sıralama.
  • Sayfa sıralamasını da koruyacak şekilde gezinmeyi ve önerileri devre dışı bırakmak için yaklaşık işareti karakteri ~ ile başlayarak.
  • Klavye dışı karakterleri klavye karakterlerine normalleştirerek (veya "katlayarak") akıllı eşleştirme karakterleri.
  • Eşleşen kelimeler ve kelime öbekleri, arama sonuçları sayfasında kalın olarak vurgulanmıştır. Vurgulayıcı kozmetik bir analizci iken, arama dizini oluşturma analizörü sayfayı gerçekten bulur ve bunlar, özellikle düzenli ifade için %100 senkronize olmayabilir. Öne çıkaracı, indeksleyiciden daha fazla veya daha az doğru eşleşebilir.

Kelimeler, ifadeler ve değiştiriciler

Temel arama terimi, bir kelime veya "tırnak içindeki kelime öbeği"'dir. Ayrıntılar, özellikle boşluksuz diller için dile göre değişir, ancak arama genellikle bir "sözcüğü" şu şekilde tanır:

  • bir dizi rakam
  • bir dizi harf
  • harfler/rakam geçişleri arasındaki alt kelimeler, örneğin txt2regex gibi
  • camelCase kullanılarak bir componentName içinde alt kelimeler

"Durdurma kelimesi", göz ardı edilen bir kelimedir (yaygın olduğu için veya başka nedenlerle). Durdurma sözcüklerinin listesi dile özgüdür ve tüm diller durdurma sözcüklerini desteklemez.[2] Belirli bir arama terimi "içerik" ile eşleşir (sayfada gösterilir). Bunun yerine vikimetin ile eşleştirmek için insource arama parametresini kullanın (Aşağıdaki bölümü bölümüne bakın). Her arama parametresinin kendi dizini vardır ve verilen terimi kendi yöntemiyle yorumlar.[3]

Kelimeler, tümcecikler, parametreler ve parametrelere giriş arasındaki boşluklar, cömert beyaz boşluk ve gri boşluk karakterleri örneklerini içerebilir. "Gri boşluk karakterleri" alfasayısal olmayan karakterlerin tümü ~!@#$%^&()_+-={}|[]\:";'<>?,./ idi. "Gri boşluk karakterleri" ve beyaz boşluk karakterlerinden oluşan karma bir dizi "gri boşluk" olur ve tek bir büyük sözcük sınırı olarak değerlendirilir. Geri boşluk, indekslerin nasıl yapıldığı ve sorguların nasıl yorumlandığıdır.[4]

1) embedded:colon bir kelimedir (bir harf olarak kabul edilir) ve 2) 1,2,3 içinde olduğu gibi gömülü bir sayı olarak , işlenir. Gri boşluk karakterleri, sorgu sözdizimi nedeniyle değiştirici karakterler olarak yorumlanamadıkları sürece yok sayılır.

Değiştiriciler ~ * \? - " ! şeklindedir. Sözdizimindeki yerleşimlerine bağlı olarak bir terime, bir parametreye veya tüm bir sorguya uygulayabilirler. Kelime ve kelime öbeği değiştiriciler joker karakter, yakınlık ve belirsiz aramalardır. Her parametrenin kendi değiştiricileri olabilir, ancak genel olarak:

  • Fuzzy kelime veya belirsiz kelime öbeği aramasının sonuna yaklaşık ~ karakter (ve dereceyi belirten bir sayı) eklenebilir.
  • Sorgunun ilk teriminin önüne gelen yaklaşık işareti ~ karakteri, olası gezinme yerine arama sonuçlarını garanti eder.
  • Bir kelimenin içindeki joker karakter (kaçmış) soru işareti olabilir \? sıfır veya daha fazla karakter için bir karakter veya yıldız işareti * karakteri için.
  • Doğruluk mantığı AND ve OR ifadelerini yorumlayabilir, ancak parametreler bunu yapamaz. AND ve OR operatörlerinin şu anda geleneksel doğruluk mantığı tarzında çalışmadığını unutmayın! Ayrıntılar için mantıksal operatörler sayfasına bakın.
  • Doğruluk mantığı, terimin olağan anlamını "eşleştirme" ile "dışlama" çevirmek için bir terimin önüne eklenen $tire veya ! anlar.
-in-law veya !Kung gibi - veya ! ile başlayan sözcükler, başlıklar ve yeniden yönlendirmelerle tam olarak eşleşebilir, ancak aynı zamanda, neredeyse tüm belgeler olan olumsuzlanmış sözcüğü içermeyen her belgeyle eşleşir. Başlıklar veya yönlendirmeler için tam eşleşmeler dışında bu tür terimleri aramak için insource arama parametresini kullanın (Aşağıdaki bölümüne bakın).
  • Kelimelerin etrafındaki tırnaklar "tam kelime öbeği" aramasını işaretler. Parametreler için, çok kelimeli girdiyi sınırlandırmaları da gerekir.
  • Kök oluşturma otomatiktir, ancak "tam bir ifade" kullanılarak kapatılabilir.
İki joker karakter yıldız ve (kaçmış) soru işaretidir ve her ikisi de bir kelimenin ortasında veya sonunda gelebilir. Kaçan soru işareti \? bir karakter, yıldız * ise herhangi bir sayıda karakter anlamına gelir. Birçok kullanıcı, bir sorgu yazmak yerine bir soru soracağından, herhangi bir soru işareti, \? ile joker karakter anlamına kasıtlı olarak kaçmadıkça yok sayılır.

Bir kelime öbeği araması, arama motoruna çeşitli ipuçları ile başlatılabilir. Her ipucu yönteminin, kelime dizisinin eşleşmesinin ne kadar toleranslı olacağına dair bir yan etkisi vardır. greyspace, camelCase veya txt2number ipuçları için:

  • words-joined_by_greyspace(characters) veya wordsJoinedByCamelCaseCharacters verildiğinde, çıplak formlarında veya gri boşluk formlarında words joined by ... characters bulur.
  • txt2number, txt 2 number veya txt-2.number ile eşleşir.
  • Bir grey_space veya camelCase ifadesinin kenar durumları için (çevrede) durdurma sözcükleri etkinleştirilir. the, of ve a kullanan bir örnek, the_invisible_hand_of_a ile meetings invisible hand shake metni içinde invisible hand ile eşleşmesidir.

Bir kelime öbeğinde evrensel olarak bilinmeyen bir kelime göz ardı edildiğinde "bunun yerine arama" raporu tetiklenir.

Aşağıdaki öbek eşleme türlerinin her biri, bir önceki eşleme toleranslarını içerir ve genişletir:

  • Tırnak içindeki bir "tam kelime öbeği", gri alana tolerans gösterecektir (eşleşecektir). "exact_phrase" veya "exact phrase" verildiğinde, "exact]phrase" ile eşleşir.
  • Bir greyspace_phrase, kök oluşturmayı ve "durdurma kelimesi" kontrollerini başlatır.
  • CamelCase verildiğinde, "ek olarak" camelcase ile eşleşecektir, çünkü CirrusSearch eşleşmede büyük/küçük harfe duyarlı değildir. CamelCase eşleşmesinin tüm diller için etkinleştirilmediğini unutmayın.

Bazı parametreler gri boşluk ifadelerini yorumlar, ancak insource gibi diğer parametreler yalnızca olağan "tırnak içindeki öbeği" yorumlar.

Arama terminolojisinde, "kök bulma" desteği, "yüzmek" aramasının "yüzme" ve "yüzdü" ifadelerini de içereceği, ancak "yüzdü" gibi düzensiz biçimleri içermeyebileceği anlamına gelir.
Arama ifadesi parserfunction parserFunction parser function parser-function parser:function parSer:funcTion
parserfunction      N  N  N  N
"parser function"  N  N      N  N
parser_function  N        N  N
parserFunction          N  N
"parser:function"  N  N  N  N    
"parser_function"  N  N      N  N
"parSer_funcTion"  N  N      N  N
parSer_FuncTion  N  N        

Tüm gövde oluşturmanın büyük/küçük harfe duyarlı olmadığını unutmayın.

"Tam kelime öbeği" aramasının embedded:colon karakterini bir harf olarak nasıl yorumladığına, ancak embedded_underscore karakterini nasıl yorumladığına dikkat edin. Bir sayının içinde virgül , karakteriyle benzer bir olay meydana gelir.

in:this:word verildiğinde, CirrusSearch, bir "tam kelime öbeği" bağlamında ("insource" parametresi bağlamını içeren), in, this veya word ile eşleşmeyecek, ancak o zaman yalnızca in:this:word ile eşleşecektir.

Aksi takdirde, CirrusSearch için kelimelerin harfler, sayılar veya ikisinin bir kombinasyonu olduğunu ve büyük/küçük harfin önemli olmadığını unutmayın.

Yaygın kelime arama, boşluk karakterini kullanır ve kök bulmada agresiftir ve aynı kelimeler gri boşluk karakterleri veya camelCase ile birleştirildiğinde, kelime öbekleri ve alt kelimelerle agresif olurlar.

"of" veya "the" gibi yaygın kelimeler bir gri-boşluk ifadesine dahil edildiğinde, daha agresif eşleşmeleri için yok sayılırlar.

Bir greyspace_phrase arama terimi veya bir camelCase veya bir txt2number terimi, belirtilen kelimelerle birbirinin yerine eşleşir. Bu üç formdan herhangi birini kullanabilirsiniz.[5] Şimdi camelcase, camelCase ile eşleşir çünkü Arama büyük/küçük harfe duyarlı değildir, ancak camelCase, camelcase ile eşleşir çünkü camelCase daha agresiftir. Aramanın geri kalanı gibi, "kelimeler" alt kelimesi de büyük/küçük harfe duyarlı değildir. Karşılaştırıldığında, "tam ifade" gri alana yöneliktir ve sayısal veya büyük/küçük harf geçişlerini ve kök bulmayı göz ardı eder. "Alıntılanan ifadeler" büyük/küçük harfe duyarlı değildir.

Tablodan parser_function -"parser function" temel aramasının parserFunction ve parser<stems> function<stems> temel aramalarının toplamı olduğunu tahmin edebiliriz.

Rakamlarla sorgulama yaparken şunu buluruz:

  • Plan9 veya Plan_9 şunlardan herhangi biriyle eşleşir: plan9, plans 9, planned 9th, (planned) 9.2, "plans" (9:24)
  • "plan9" yalnızca plan9 ile eşleşir (büyük/küçük harfe duyarlı değildir)
  • Plan*9, plan9 veya planet4589 ile eşleşir.

Yıldız * işareti joker karakteri, oluşturulmuş bir sözcük içindeki bir harf ve rakam dizesiyle eşleşir, ancak hiçbir zaman başlangıç ​​karakteri ile eşleşmez. * karakterinden bir veya daha fazla karakter önce gelmelidir.

  • * sayılarla eşleştiğinde, virgül bir sayının parçası olarak kabul edilir, ancak ondalık nokta gri boşluk karakteri olarak kabul edilir ve iki sayıyı sınırlar.
  • Bir "tam kelime öbeği" içinde *, bir gri boşluk karakteri olarak kabul edilir ve bir joker karakter olarak değerlendirilmez, bu nedenle kelimeleri sınırlar.

\? joker karakteri bir harf veya sayıyı temsil eder; *\? de kabul edilir, ancak \?* tanınmaz.

Joker karakterler temel kelime, kelime öbeği ve iç kaynak aramaları içindir ve ayrıca (bazı) gelişmiş normal ifade aramalarına (daha sonra ele alınacak) bir alternatif olabilir.

Bir sözcük veya tümcecikten sonra tilde ~ karakteri koymak, belirsiz bir aramayı etkinleştirir.

  • Bir kelime öbeği için, yakınlık araması olarak adlandırılır, çünkü yakınsal sözcükler tam kelime öbeği yerine yaklaşık olarak tolere edilir.
  • Örneğin, "exact one two phrase"~2, exact phrase ile eşleşir.
  • Bir kelime için fazladan karakterler veya değiştirilmiş karakterler anlamına gelir.
  • Bir kelime öbeği için belirsiz bir arama, ona kaç ekstra kelimenin sığacağını söyleyen bir tam sayı gerektirir, ancak bir kelime için belirsiz bir aramada ondalık bir kesir olabilir, varsayılan word~0.5 (word~.5) olarak belirlenir, en fazla iki harfin değiştiği, değiştirildiği veya eklendiği ancak ilk iki harfin asla bulunmadığı yerlerde.
  • Bir yakınlık ifadesi için büyük bir sayı kullanılabilir, ancak bu "zengin" (yavaş) bir aramadır.
  • Bir kelime için word~2, düzenleme mesafesi 2 (varsayılan) ile en bulanık olanıdır ve word~1 en az bulanık olanı ve word~0 hiç de belirsiz değildir.
flowers algernon Flowers for Algernon flowers are for Algernon Flowers a1 2b 3c 4f 5j 6l 7j 8p q9 z10 for Algernon
"flowers algernon"    N  N  N
"flowers algernon"~0    N  N  N
"flowers algernon"~1      N  N
"flowers algernon"~2        N
"flowers algernon"~11        
"algernon flowers"~1  N  N  N  N
"algernon flowers"~2    N  N  N
"algernon flowers"~3      N  N
"algernon flowers"~4        N
"algernon flowers"~13        

Ters (sağdan sola) sırayla eşleşmesi gereken yakınlık değeri için, tüm fazla kelimeleri sayın ve atın, ardından kalan kelimelerin toplam sayısının iki katını eksi bir ekleyin. (Başka bir deyişle, iki katı segment ekleyin). Tam yakınlık algoritması için Elasticsearch slop adresine bakın.

Tırnaklar kök ayırmayı kapatır, "but appending"~ tilde köklendirmeyi yeniden etkinleştirir.

flowers flower Flowers for Algernon flower for Algernon
flowers         Stemming yürürlükte.
"flowers"    N    N Yakınlık araması, kök bulmayı kapatır.
"flowers"~         Yakınlık artı tilde son eki ile köklendirme.
"flowers for algernon"  N  N    N Yakınlık araması, kök bulmayı kapatır.
"flowers for algernon"~  N  N     Yakınlık artı tilde son eki ile köklendirme.
"flowers algernon"~1  N  N    N Yakınlık araması, kök bulmayı kapatır.
"flowers algernon"~1~  N  N     Yakınlık artı tilde son eki ile köklendirme.

Insource

1.24

Gerrit change 137733

Insource, bir sayfada gösterilen herhangi bir kelimeyi bulmak için kullanılabilir, ancak bulabileceğiniz herhangi bir kelime öbeğini bulmak için yapılır. MediaWiki işaretlemesi (vikikod olarak da bilinir), yönlendirmeler hariç herhangi bir sayfada. Bu ifade, gri alanı tamamen yok sayar: insource: "state state autocollapse", |state={{{state|autocollapse}}} ile eşleşir.

insource: word
insource: "word1 word2"
Gri boşluk karakterleri, kelime aramalarında ve tam kelime öbeği aramalarında olduğu gibi göz ardı edilir.
insource:/regexp/
insource:/regexp/i
Bunlar düzenli ifadelerdir. Etkili değillerdir, bu nedenle arama kümesinde aynı anda yalnızca birkaçına izin verilir, ancak bunlar çok güçlüdür. Normal ifade, varsayılan olarak büyük/küçük harf duyarlı olarak eşleşir; büyük/küçük harfe duyarsızlık ekstra i ile seçilebilir, ki bu daha da az etkilidir.

Insource kendini tamamlar. Bir yandan, vikimetinde ki herhangi bir kelime için anında tam metin araması vardır. Öte yandan, herhangi bir karakter dizisi için bir regexp aramasını işleyebilir.[6] Düzenli ifadeler, belirli bir sayfa listesindeki tüm metin karakterlerini tarar; işleri hızlandırmak için bir kelime indeksleri yoktur ve yirmi saniyeden fazla çalışırsa süreç kesintiye uğrar. Düzenli ifadeler bir sorguda en son çalışır; bu nedenle, karakter düzeyinde gereksiz taramayı sınırlandırmak için, her regex sorgusu, taranması gereken belge sayısını sınırlamak için başka arama terimleri içermelidir.[7] Genellikle insource:/arg/ normal ifade sorgusuna eklenecek en iyi aday insource:arg olur, burada arg aynıdır (ve joker karakter kullanmaz).

Düzenli ifade için sözdizimi insource: boşluksuz ve sonra /regexp/ şeklindedir. (Başka hiçbir parametre boşluğa izin vermez. insource:/regexp/ dışındaki tüm parametreler, iki nokta üst üste koyduktan sonra boşluk kabul eder.)

Insource dizinli arama ve regexp arama rolleri birçok açıdan benzerdir:

  • Her ikisi de yalnızca vikimetin arar.
  • Hiçbiri yansıtma tarafından "kaynaklı" şeyler bulmaz.
  • Köklü, belirsiz veya yakın aramalar da yapılmaz.
  • Her ikisi de en az sonucu ister ve her ikisi de başka bir cümle ile birlikte daha hızlı çalışır.

Ancak indekslenmiş aramaların tümü gri alanı yok sayar; joker karakter aramaları gri boşlukla eşleşmez, bu nedenle normal ifadeler herhangi biri ve tümü karakterlerinden oluşan tam bir dizeyi bulmanın tek yoludur, örneğin iki boşluktan oluşan bir dizi. Düzenli ifadeler, bir değişmez dizeyi eşleştirmeyi kolaylaştıran (temel, başlangıç ​​kullanımı) ve meta karakter ifadeleriyle eşleştirmeyi mümkün kılan (gelişmiş kullanım), tamamen farklı bir arama aracı sınıfıdır. Aşağıdaki #Regular expression searches bölümüne bakın.

insource parametresi, katıştırılmış iki nokta üst üste bulunan kelimeleri tek bir kelime olarak ele alır. Bu, şablonlar, ayrıştırıcı işlevleri, URL'ler, vikibağlantılar, HTML etiketleri ve yorumlar için arama sorgularını etkiler.
Mümkün olduğunda, lütfen çıplak bir normal ifade araması yapmaktan kaçının. Bunun nasıl her zaman mümkün olduğunu aşağıdaki #Regular expression searches bölümünde görebilirsiniz.
-in-law veya !Kung gibi - veya ! ile başlayan kelimeleri aramak için, büyük / küçük harfe duyarlı olmayan insource sorgusu ile terimin "düz" sürümünde basit bir arama kullanın (çıplak bir regexp aramasından kaçınmak için). Örneğin, "in-law" insource:/-in-law/i veya "kung" insource:/!kung/i.

Önek ve ad alanı

Arama için, bir ad alanı terimi, ilk arama etki alanını belirtmek için işlev görür. Tüm vikide arama yapmak yerine, varsayılan, ana ad alanıdır (ana alan).

Arama kutusu sorgusundan yalnızca bir ad alanı adı ayarlanabilir. Ya ilk terimdir ya da son terimdir, bir “prefix” parametresindedir.

Her arama sonuçları sayfasının üst kısmında bulunan arama çubuğu, Gelişmiş bölmesinden iki veya daha fazla ad alanı Special:Search sayfasında aranabilir. Bir ad alanı profili olarak arama etki alanınız buradan ayarlanabilir. Ad alanları listesi, arama sonuçlarının arama alanını belirtmek için gelecekteki arama sonuçlarının ilk sayfasında kendini gösterecektir. Bunun ayarını kaldırmak için, varsayılan ad alanını seçin (parantez içinde gösterilir), "Hatırla" seçeneğine seçin ve Ara'ya basın.

Arama çubuğu bir arama alanını grafik olarak ayarlar ve belirtir. "İçerik sayfaları" (ana alan), "Multimedya" (Dosya), "Her şey" ("tümü" artı Dosya), "Çeviriler" vb., sorguyu söz konusu etki alanında etkinleştirebilen ve ardından bunu gösteren aktif olmayan (koyu) köprülerdik. Ancak sorgu, arama çubuğunu geçersiz kılacaktır. Sorguda bir ad alanı veya önek kullanıldığında, arama çubuğu etkinleştirmeleri ve göstergeleri yanıltıcı olabilir, bu nedenle arama çubuğu ve arama kutusu, arama etki alanını ayarlamanın karşılıklı olarak dışlayıcı (tamamlayıcı değil) yollarıdır.

Bir ad alanı terimi, arama çubuğunu geçersiz kılar ve bir önek terimi bir ad alanını geçersiz kılar.

Bir ad alanı adı girin veya all: girin veya ana alan için : iki nokta üst üste girin. "Tümü", Dosya ad alanını içermez. Dosya, tümü indekslenmiş ve aranabilir olan PDF gibi Commons'ta tutulan medya içeriğini içerir.

File dahil edildiğinde, local: ad alanı değiştiricisi bir etkiye sahiptir, aksi takdirde yok sayılır.

Ad alanı takma adları kabul edilir.

talk: "Wind clock" Başlığı veya metni "rüzgar saati" ifadesini içeren Tartışma ad alanındaki sayfaları bulun.
file: "Wind clock" Başlığı, metni veya medya içeriği "rüzgar saati" ifadesini içeren Dosya ad alanındaki sayfaları bulun.
file: local: "Wind clock" Commons vikideki sonuçları filtreleyin.
local: "Wind clock" Yok sayıldı. Ana alanı arar. Dosya dahil olmadıkça yerel yoksayılır.

Arama parametrelerinde olduğu gibi, "yerel" ve "tümü" küçük harf olmalıdır. Ad alanları adları büyük/küçük harf duyarlıdır.

prefix: parametresi, bir ad alanındaki tüm sayfa adlarının herhangi bir sayıda ilk karakteriyle eşleşir.[8] İlk harfler bir ad alanı adı ve iki nokta üst üste eşleştiğinde, arama etki alanı değişir.

Yalnızca bir ad alanı verildiğinde, önek tüm sayfa adlarıyla eşleşir. Yalnızca bir karakter verildiğinde, bu - tire veya ' tırnak veya " çift tırnak olamaz. Son karakter iki nokta üst üste olamaz.

Eşleşen sayfa adları için alt sayfa başlıkları tanım gereği eşleşir.

prefix parametresi bir ad alanından önce bir boşluğa izin vermez, ancak bir sayfa adından önce beyaz boşluğa izin verir.

prefix:cow Ana alanda başlığı c o w üç harfiyle başlayan sayfaları bulun.
domestic   prefix:cow Ana alanda başlığı c o w üç harfiyle başlayan ve "domestic" kelimesini içeren sayfaları bulun.
domestic   prefix:cow/ "$cow" sözünün mevcut alt sayfalarını listeleyin, ancak yalnızca "domestic" kelimesini içeriyorlarsa. Bu çok yaygın bir aramadır ve sıklıkla prefix= adlı özel bir URL parametresi kullanılarak oluşturulur.
domestic   prefix:Talk:cow/ "Talk:cow" sözünüm tüm alt sayfalarını listeleyin, ancak yalnızca "domestic" kelimesini içeriyorlarsa.
1967   prefix:Pink Floyd/ "Pink Floyd" sözünün alt sayfalarını listeleyin, ancak yalnızca "1967" kelimesini de içeriyorsa.

prefix parametresi, sayfa adı karakterlerinin " tırnak işaretleri içerebilmesi için sona gider.

Translate uzantısı, bir sayfanın çevrilmiş sürümlerinden oluşan bir tür "dil ad alanı" oluşturur. Ancak, ilk arama etki alanını oluşturan ad alanı veya önekten farklı olarak, inlanguage parametresi bunun bir "filtresidir". (Sonraki bölüme bakın.)

İçeriği arama dizininden hariç tutun

class="navigation-not-searchable" eklenerek içerik arama dizininden çıkarılabilir. Bu, CirrusSearch'e bu içeriği arama indeksinden yok sayması talimatını verecektir (daha fazla içerik için görev T162905 sayfasına bakın).

Ek olarak, içerik class="searchaux" eklenerek yardımcı bilgi olarak işaretlenebilir. Bu, CirrusSearch'e içeriği ana metinden arama ve pasaj vurgulama için daha düşük öneme sahip bir yardımcı alana taşıması talimatını verecektir. Bu ayrım, küçük resim açıklamaları, 'ayrıca bakınız' Bölümleri vb. öğeler için kullanılır.

Filtreler

Bir filtre birden çok örneğe veya olumsuzlanmış örneklere sahip olacaktır veya bir arama etki alanını filtreleyen bağımsız bir şekilde çalışabilir. Bir sorgu, bir arama alanını filtreleyen terimler olarak oluşturulur.

Başka bir kelime, kelime öbeği veya parametre eklemek daha fazla filtre uygular. Son derece hassas bir arama sonucu, sonuçlardaki her sayfa ele alındığında çok sayıda Y/N filtresine sahip olabilir. (Bu durumda sıralama büyük ölçüde önemsizdir.) Filtreleme, bir düzenli ifade terimi eklemeye kritik bir şekilde uygulanır; bir düzenli ifade eklemeden önce olabildiğince az sayfa istiyorsunuz (çünkü araması için hiçbir zaman hazırlanmış bir dizini olamaz).

Bir ad alanı, belirli bir arama alanıdır, ancak bir ad alanı tek başına çalışmayacağından bir filtre değildir. Bir prefix geçersiz kılınacaktır, bu yüzden bu bir filtredir. Aşağıdaki arama parametreleri, birden çok örneği olabilen filtrelerdir.

Insource (yukarıda ele alınmıştır) da bir filtredir, ancak insource:/regexp/ bir filtre değildir. Filtreler ve diğer tüm arama parametreleri küçük harflidir. (Ad alanları büyük/küçük harfe duyarlı olmayan bir istisnadır.)

Intitle ve incategory

Kelime ve kelime öbeği aramaları bir başlık ile eşleşir ve sayfanın altındaki kategori kutusuyla eşleşir. Ancak bu parametrelerle yalnızca başlıkları veya yalnızca kategorisini seçebilirsiniz.

  • cow*
    • Başlığı veya metni inek ile başlayan kelimeler içeren maddeler bulun
  • intitle:foo
    • Başlığı foo içeren maddeler bulun. Foo için kök oluşturma etkindir.
  • intitle:"fine line"
    • Başlığı ince çizgi içeren maddeler bulun. Stemming devre dışı bırakıldı.
  • intitle:foo bar
    • Başlığı foo ve başlığı veya metni çubuk içeren maddeler bulun.
  • -intitle:foo bar
    • Başlığı foo içermeyen ve başlığı veya metni çubuk içeren maddeler bulun.
  • incategory:Music
    • Kategori:Müzik'deki maddeleri bulun
  • incategory:"music history"
    • Kategori:Müzik_tarihi'deki maddeleri bulun
  • incategory:"musicals" incategory:"1920"
    • Hem Kategori:Müzikaller hem de Kategori:1920'de olan maddeleri bulun
  • -incategory:"musicals" incategory:"1920"
    • Kategori:Müzikaller'de olmayan ancak Kategori:1920'de olan maddeleri bulun

Intitle ve incategory eski arama parametreleridir. Incategory artık herhangi bir alt kategoriyi otomatik olarak aramıyor, ancak artık manüel olarak birden çok kategori sayfa adı ekleyebilirsiniz.

1.31

Gerrit change 413896

MediaWiki 1.31-wmf.23 sürümünden beri, Düzenli ifade aramaları intitle için desteklenir:

intitle:/regex/, intitle:/regex/i

#Düzenli ifade aramaları bölümünde yazılan her şey, uyarılar dahil olmak üzere bu aramalar için de geçerlidir.

Mümkün olduğunda, lütfen çıplak bir düzenli ifade araması yapmaktan kaçının. Bunun nasıl her zaman mümkün olduğunu aşağıdaki #Düzenli ifade aramaları bölümünde bakın.

Deepcategory

Derin kategori araması, kategori ve tüm alt kategorilerde arama yapılmasına izin verir. Ağacın derinliği şu anda 5 seviye ile sınırlıdır (yapılandırılabilir) ve kategori sayısı 256 ile sınırlıdır (yapılandırılabilir). Derin arama WDQS'den SPARQL Kategori hizmetini kullanır. Anahtar kelimeler deepcategory veya deepcat idi. Örnek:

  • deepcat:"musicals"
    • Kategori:Müzikaller veya alt kategorilerden herhangi birinde bulunan maddeleri bulun.

Daha önce parametreyi uygulayan DeepCat küçük aracı Ocak 2020'de kullanımdan kaldırıldı.

Bazı deepcat aramalarının eksik sonuçlar verdiğini unutmayın. Ayrıntılar için görev T246568 hatasına bakın.

Linksto

Linksto, içerik bağlantısını değil, belirli bir isme ait viki bağlantıları bulur. Giriş, kurallı, büyük/küçük harfe duyarlıdır, sayfa adı. Harf büyüklüğünde herhangi bir başlık değişikliğinden önce içerik sayfasının başlık satırı ile tam olarak eşleşmelidir. ({{FULLPAGENAME}} ile eşleşmelidir, ör. Help:CirrusSearch/tr.)

Linksto yönlendirmeleri bulamıyor. Bir şablonla yapılmış olsalar bile yalnızca [ [vikibağlantı]] bulur. Bu URL dahili bir viki bağlantısı olsa bile, bir URL tarafından yapılmış bir bağlantı bulamaz.

Eğer "Help:Searching" ve "H:S" yeniden yönlendiriliyorsa, tüm vikibağlantıları bir "Help:Cirrus Search" ile bulmak için:

  1. linksto: "Help:Cirrus Search"
  2. linksto: Help:Searching
  3. linksto: H:S

CirrusSearch -linksto: Help:CirrusSearch, "CirrusSearch" üzerinden bahseden ancak vikibağlantıda bulunmayan maddeleri bulur.

Hastemplate

hastemplate: template ile şablon kullanımını belirtebilirsiniz. Şablonun tüm kullanımlarını bulmak için kanonik sayfa adını girin, ancak yönlendirme sayfa adlarından yalnızca bu adlandırma herhangi birini kullanın. Ad alanı takma adları kabul edilir, büyük harf kullanımı tamamen göz ardı edilir ve yönlendirmeler bulunur, hepsi tek bir ad aramasında. (Varsayılan ad alanı olmayan boost-template ile karşılaştırın; linksto ad alanı takma adları, büyük/küçük harfe duyarlı, yönlendirme yok; intitle yönlendirme yok.)

Hastemplate, bir sayfada ikincil (veya meta-şablon) kullanımı bulur: genişletme sonrası dahil etmeyi arar. Bu, bir şablondaki sözcükler ve tümcecikler ile aynı felsefedir, ancak burada bir şablondaki şablonlar içindir. Sayfa, bu içerik vikimetinde görünmese bile bu içeriğe sahip olarak listelenecektir.

  • hastemplate: "quality image", varsayılan arama etki alanınızda (ad alanları) "Template:Quality image" kullanımını bulur.
  • hastemplate: portal:contents/tocnavbar, Portal ad alanında bir "Contents/TOCnavbar" şablonunun ana alan kullanımını bulur.

Translate uzantısına sahip kurulumlar için, hastemplate aramaları Template:Translatable template name sayfasının çevrilebilir bir şablonun şablon adını sarmaladığı her yerde parazit olur. Bunun yerine insource kullanın.

Inlanguage

Translate uzantısına sahip kurulumlar için, inlanguage oldukça hassas aramalar ve sayfa sayıları için önemlidir.

inlanguage: dil kodu

yalnızca bu dilde arama sonuçları üretecektir.

Örneğin

  • bikideki tüm Japonca sayfaları saymak için
all: inlanguage: ja
  • Yardım ad alanındaki Almanca ve İspanyolca sayfaları filtrelemek için
help: -inlanguage: de -inlanguage: es
  • Çeviriyi yok saymak için ve İngilizce'nin temel dil olduğu
inlanguage:en

Contentmodel

contentmodel: anahtar sözcüğü, aramayı belirli bir içerik modelinin sayfalarıyla sınırlamaya izin verir. Olası modeller için İçerik işleyicilerine bakın. Örneğin.:

  • Yalnızca JSON sayfalarını görmek için:
contentmodel:json

subpageof

Alt sayfaları bulmak için.

subpageof: ÜstSayfa

Örneğin

  • CirrusSearch'ün tüm alt sayfalarını bulmak için.
subpageof:CirrusSearch
  • Ana sayfada boşluklar varsa çift tırnak kullanın.
subpageof:"Requests for comment"
"prefix:" farklı olarak, anahtar kelime değerine sayfa ad alanını dahil etmeyin. Belirli bir ad alanının alt sayfalarıyla sınırlamak istiyorsanız ad alanı filtresini kullanın.

Articletopic

articletopic: anahtar kelimesi, arama sonuçlarının konuya göre filtrelenmesine izin verir. Olası konular için Help:CirrusSearch/articletopic sayfasına bakın. Ör. articletopic:books, arama sonuçlarını kitaplarla ilgili maddelere göre filtreleyecektir. articletopic:books|films, kitaplar veya filmler hakkındaki maddelere filtre uygulanacaktır. articletopic:books articletopic:films, hem kitaplar hem de filmler hakkında olan maddeleri filtreleyecektir.

Yalnızca ana alan maddeleri konulara aittir ve konular yalnızca Vikipedi'lerde mevcuttur. Diğer filtrelerden farklı olarak, articletopic aynı zamanda sayfa ağırlıklandırması da yapar: bir konuyla daha güçlü bir eşleşme olan maddeler, arama sonuçlarında daha yüksek olacaktır (bu konuyla ilgili olmayan maddeler ise sonuç kümesinden tamamen kaldırılacaktır).

Konu modelleri, ORES üzerinden başlayan makine öğrenimi yoluyla elde edilir. Herhangi bir madde düzinelerce farklı konuda bir puan alır ve bu nedenle farklı anahtar kelimeler altında görünebilir. Örneğin, Albert Einstein hakkındaki madde bir "fizik" maddesi ve bir "biyografi" maddesi olarak görünebilir. Tüm Vikipedi puanları mevcuttur. Bazılarının tüm maddeleri kapsayan yerel dilde konu modelleri vardır. Diğer dillerin yerel ORES modelleri yoktur ve aynı zamanda İngilizce Vikipedi'de de bulunan yerel dildeki maddelere atanan İngilizce dil puanlarını kullanırlar. Bu tür "çapraz viki" puanlarına sahip diller %100 kapsama sahip değildir. Dile bağlı olarak, konu başlıkları olan maddeleri yalnızca %60'ı gibi bir şey olabilir.

Konuyla ilgili arama verileri haftalık olarak güncellenir, bu nedenle yeni oluşturulan maddeler konu tabanlı arama sorgularında görünmeyebilir.

Pageid

pageid: anahtar kelimesi, arama sonuçlarını verilen sayfa kimliği kümesiyle sınırlar. Bu, manüel arama için gerçekten kullanışlı değildir; bir dizi sayfanın verilen arama koşulları kümesiyle eşleşip eşleşmediğini kontrol etmek için yazılım araçları tarafından kullanılabilir (örneğin, önbelleğe alınmış arama sonuçlarının yeniden doğrulanması için).

Sayfa ağırlığı

Ağırlıklandırma, pasajı, önerileri ve sayfanın alaka düzeyini belirler. Normal ağırlık birdir. Çarpanlar üzerinden ek ağırlık verilir.

Sorgu yalnızca kelimelerse, bunlarla sırayla eşleşen sayfalara destek verilir. Aramanıza herhangi bir açık kelime öbeği eklerseniz veya diğer belirli eklemeler için, bu "tercih ifadesi" özelliği uygulanmaz.

Morelike

  • morelike:page name 1|page name 2|...|page name n
    • Metni verilen maddelerin metnine en çok benzeyen maddeleri bulun.
  • morelike:wasp|bee|ant
    • Sokan böcekler hakkında maddeler bulun.
  • morelike:template:search|template:regex|template:usage
    • Vikide şablon kullanımı için düzenli ifade arama hakkında şablonlar bulun.

morelike, "açgözlü" bir anahtar kelimedir, yani diğer arama sorgularıyla birleştirilemez. Diğer arama sorgularını kullanmak istiyorsanız, aramanızda morelikethis kullanın:

  • morelikethis:bee hastemplate:"featured article"
    • bees hakkında "featured article" şablonuna sahip maddeler bulun.

morelike: sorgusu, giriş maddelerinde bir dizi kelime seçerek ve seçilen kelimelerle bir sorgu çalıştırarak çalışır. Aşağıdaki parametreleri arama sonuçları URL'sine ekleyerek çalışma şeklini ayarlayabilirsiniz:

  • cirrusMltMinDocFreq: Dikkate alınması için bir terim gerektiren minimum belge sayısı (parça başına).
  • cirrusMltMaxDocFreq: Değerlendirilmesi için bir terimi olan maksimum belge sayısı (parça başına).
  • cirrusMltMaxQueryTerms: Dikkate alınacak maksimum terim sayısı.
  • cirrusMltMinTermFreq: Terimin belge girdisinde dikkate alınması için minimum kaç kez göründüğü. Küçük alanlar için (title) bu değer 1 olmalıdır.
  • cirrusMltMinWordLength: Dikkate alınacak minimum terim uzunluğu. Varsayılan 0'dır.
  • cirrusMltMaxWordLength: Üstündeki kelimelerin yok sayılacağı maksimum kelime uzunluğu. Sınırsız (0) varsayılan.
  • cirrusMltFields (virgülle ayrılmış değerler listesi): Bunlar kullanılacak alanlardır. İzin verilen alanlar title, text, auxiliary_text, opening_text, headings ve all.
  • cirrusMltUseFields (true|false): yalnızca alan verilerini kullanın. false varsayılanı: sistem, sorguyu oluşturmak için text alanının içeriğini çıkaracaktır.
  • cirrusMltPercentTermsToMatch: Eşleştirilecek terimlerin yüzdesi. Varsayılan 0,3 (yüzde 30).
  • Örnek: &cirrusMtlUseFields=yes&cirrusMltFields=title&cirrusMltMinTermFreq=1&cirrusMltMinDocFreq=1&cirrusMltMinWordLength=2

Bu ayarlar, Sistem mesajda cirrussearch-morelikethis-settings ile geçersiz kılarak kalıcı hale getirilebilir.

Prefer-recent

Sorgunun herhangi bir yerine prefer-recent: eklemek, son düzenlenmiş maddelere sayfa sıralama kurallarında normalden biraz daha büyük bir artış sağlar. En son tercih edilen yalnızca varsayılan relevance sıralama düzeni kullanıldığında uygulanır.

Varsayılan olarak, 160 günlük geniş bir zaman aralığında, puanın yalnızca %60'ını artırır ve sorguya prefer-recent:0.6,160. olarak girilebilir. Bu, diğer sayfa sıralama kurallarıyla iyi çalışır ve çoğu arama için tasarlanmıştır.

Kuralları değiştirebilirsiniz: prefer-recent:boost,recent Teknik olarak "boost", puanın ölçeğe oranıdır ve "recent" gün cinsinden yarı ömürdür. Artış, alışılmış "çarpan" dan daha fazladır, "üstel" bir artıştır. Üsde kullanılan faktör, son düzenlemeden bu yana geçen süredir.

Örneğin

prefer-recent:,7

7 günden eski sayfalar yarı yarıya, 14 günden eski sayfalar ise yarı yarıya artırılır ve bu böyle devam eder. Sayfa sıralaması ve artırmanın büyük ölçüde anlamsız olduğu son derece hassas arama sonuçlarında basit bir "tarihe göre sıralama" için, tüm puanı artırmanız yeterlidir.

  • prefer-recent:1,7 (weeks)
  • prefer-recent:1,1 (days)
  • prefer-recent:1,0.0007 (minutes)
  • prefer-recent:1,0.0001 (8.64 seconds)
  • prefer-recent:1,0.00001 (seconds)

Boost-templates

Sayfaların puanlarını, içerdikleri şablonlara göre artırabilirsiniz. Bu, doğrudan aramada boost-templates:"" yoluyla yapılabilir veya tüm aramalar için varsayılanı MediaWiki:cirrussearch-boost-templates mesajı ile ayarlayabilirsiniz. boost-templates:"", birincisi belirtilmişse, cirrussearch-boost-templates içeriğinin yerini alır. Sözdizimi biraz garip ancak basit olması için seçildi. Tercih edilen yeni gibi, destek şablonları yalnızca varsayılan relevance sıralama düzeni kullanıldığında uygulanır. Bazı örnekler:

File:boost-templates:"Template:Quality Image|200%" incategory:china
Önce kaliteli resimleri sıralayarak Çin kategorisindeki dosyaları bulun.
File:boost-templates:"Template:Quality Image|200% Template:Low Quality|50%" incategory:china
Önce kaliteli resimleri, düşük kaliteli resimleri en son sıralayarak Çin kategorisindeki dosyaları bulun.
File:boost-templates:"Template:Quality Image|200% Template:Low Quality|50%" popcorn
Önce kaliteli resimleri, düşük kaliteli resimleri en son sıralamak için patlamış mısır hakkındaki dosyaları bulun. cirrussearch-boost-templates mesajının kullanılmasıyla bunun yalnızca popcorn ile indirgenebileceğini unutmayın.

Yüzdelere ondalık nokta eklemeye çalışmayın. Çalışmazlar ve arama puanlaması, pek önemli olmayacak şekilde yapılır.

cirrussearch-boost-templates hakkında bir uyarı: gerçekten çok büyük veya küçük yüzdeler eklerseniz, tam metin puanlamasını zehirleyebilirler. Örneğin, enwiki öne çıkan maddeleri yüzde bir milyon artırdıysa düşünün. Ardından, öne çıkan maddelerde bahsedilen terimlerin aranması, öne çıkan makaleleri, terimlerin tam başlık eşleşmelerinden önce bulur. Öbek eşleme benzer şekilde uçup gidecektir, bu nedenle brave new world gibi bir arama, Brave New World maddesi yerine bu kelimelerin dağınık olduğu öne çıkan bir madde bulacaktır.

Düzenli ifade aramaları

  Uyarı: Çıplak bir insource:/regexp/ araması çalıştırmayın. Sorumlu kullanıcıların sorgularını bloke ederken, muhtemelen 20 saniye sonra zaman aşımına uğrayacaktır.

Temel bir dizine alınmış arama, bir sayfada görünür hale getirilen kelimeleri bulur. Tireleme ve noktalama işaretleri ve köşeli parantez, eğik çizgi ve diğer matematik ve hesaplama sembolleri, kelimeler için yalnızca sınırlardır. Bunları indekslenmiş bir aramaya dahil etmek mümkün değildir. Çoğunlukla bu arama davranışı kullanıcı tarafından istenir. Bununla birlikte, bazen kişi daha hassas bir arama yeteneğine sahip olmak ister.

Dizine dayalı aramaların sözdizimsel eksikliğini gidermek için regexp aramaları kullanılabilir. Ancak, yalnızca regexp ifadelerine sahip sorgular çok yavaş ve kaynak tükettiğinden, bunlar her zaman regexp arama alan adının bir veya daha fazla dizin tabanlı aramanın sonuçlarıyla sınırlı olacağı şekilde dizin tabanlı bir aramayla birleştirilmelidir.

Bir "tam dizge" regexp araması temel bir aramadır; basitçe tüm düzenli ifadeyi "tırnak içine alır" veya dizedeki tüm alfanümerik olmayan karakterleri "backslash-escape" yapar. Tüm düzenli ifade aramaları ayrıca kullanıcının, düzenli ifade motorunun arama yapması için arama alanını oluşturmak üzere basit bir filtre geliştirmesini gerektirir (kalın işaretli indeks tabanlı arama alanı, eğik olarak işaretlenmiş regexp bölümü):

  • insource:"debian.reproducible.net" insource:/debian\.reproducible\.net/
  • insource:"c:\program files (x86)" insource:/C\:\\Program Files \(x86\)/i
  • insource:"<tag>{{template}}</tag>" insource:/"<tag>{{template}}<"\/"tag>"/
  • insource:"[[title|link label]]'s" insource:/"[[title|link label]]'s"/
  • insource:/regexp/ prefix:{{FULLPAGENAME}}

Son örnek bir sayfadaki bağlantıdan çalışır, ancak {{FULLPAGENAME}} arama kutusunda çalışmaz.

Örneğin: [[Special:Search/insource:/regex/ prefix:{{FULLPAGENAME}}]] bu sayfada regex terimini bulur.

Ad alanı belirtilmemiş ve önek belirtilmemiş bir sorgu, varsayılan arama etki alanınızda arama yapar (herhangi bir arama sonuçları sayfasında ayarlanabilir, yani Special:Search). Bazı kullanıcılar varsayılan arama etki alanlarını "tüm ad alanlarında", yani tüm vikide tutar. Büyük bir vikide, bu kullanıcı çıplak bir düzenli ifade araması yaparsa, muhtemelen başarısız olur ve aramayı tamamlamadan önce bir HTML zaman aşımına neden olur.

Bir düzenli ifade araması aslında arama etki alanındaki her sayfayı karakter karakter tarar. Buna karşılık, indekslenmiş bir arama aslında, viki veritabanından ayrı olarak tutulan bir veritabanındaki birkaç kaydı sorgular ve neredeyse anında sonuçlar sağlar. Bu nedenle, bir insource:// (herhangi bir türden bir düzenli ifade) kullanırken, düzenli ifade arama alanını olabildiğince sınırlayacak diğer arama terimlerinden birini oluşturmayı düşünün. Bir dizin kullanan ve bu nedenle /regexp/ için anında daha ayrıntılı bir arama alanı sağlayan birçok arama terimi vardır. Genel etkinlik sırasına göre:

  • insource:"" tırnak işaretleriyle, "eğik çizgi olmadan" veya kaçış karakterleri dışında düzenli ifadeyi çoğaltmak idealdir.
  • intitle (normal ifade araması olmadan), incategory ve linksto mükemmel filtrelerdir.
  • hastemplate: çok iyi bir filtredir.
  • "word1 word2 word3", tırnak işaretleri olsun veya olmasın, iyidir.
  • namespace: pratik olarak faydasızdır, ancak yavaş bir düzenli fade aramasının tamamlanmasını sağlayabilir.

Çıplak bir düzenli ifade sorgusunu test etmek için, test modellerine sahip bir sayfa oluşturabilir ve ardından bu tam sayfa adıyla prefix parametresini kullanabilirsiniz. Eşleşme vurgulanacaktır. Bu sayfayı (veritabanında) ve alt sayfalarını arar.

Bir düzenli ifade aramasının verimliliğini artırmayan arama terimleri, sayfa puanlama operatörleridir: morelike, boost-template ve prefer-recent.

Metacharacters

Bu bölüm, düzenli ifade aramalarında kullanılan meta karakterlerden nasıl çıkılacağını kapsar Metacharacters'in gerçek anlamı için sözdiziminin açıklamasına bakın.[9]

Tam bir dizenin kullanılması bir düzenli ifade gerektirir, ancak düzenli ifade terimi aramanın kendisini sınırlandırmasını zorunlu kılar. Bir düzenli ifade ekleme terimi, asla çıplak bir düzenli ifadeyi aramayın. Tam bir dize araması yapmadan önce önceki aramadaki sayfa sayısını not ederek başlatın. Tam bir dizeyle sorgulama, filtrelenmiş bir arama alanı gerektirir.

Örneğin:

  • bir ad alanında arama yapmak için, ad alanı olan tek bir terime sahip sayfaların sayısını ölçün. Bu, o ad alanındaki sayfaların sayısını listeler.
  • "wiki-link" veya "(trans[in]clusion)" gibi, görmüş olabileceğiniz şeyi yeniden bulmaya başlayarak ad alanı ve iç kaynak filtreleri ile başlayın.

Tam bir dizeyle iyileştirme

  • "2 + 2 = 4" veya "site".org" gibi devam eden bir arama sürecini görmek istediğiniz şeyle hassaslaştırmak, ideal olarak düzenli ifadenin en iyi kullanımıdır, çünkü onu tek bir normal ifade terimi olarak ekler. Bir aramayı hassaslaştırırken, düzenli ifadenin taraması gereken sınırlı sayıda sayfa görülebilir.

Tam bir dize araması yapmaya başlayabilirsiniz, ancak aklınızda bulundurun:

  • regex, oluşturulan metni değil, yalnızca vikimetinde arama yapar, bu nedenle işaretlemede bazı farklılıklar vardır ve boşluk karakterlerinin sayısı bile tam olarak eşleşmelidir.
  • Eşlik eden bir filtre sağlamanız zorunludur.
  • Düzenli ifade meta karakterlerinden nasıl kaçılacağını öğrenmelisiniz.

Meta karakterlerden kaçmanın iki yolu vardır. Her ikisi de bazen yararlıdır ve bazen bir dizenin çıkışında yan yana birleştirilir.

  • Ters eğik çizgi onlardan biri \karakter. insource:/regexp/ düzenli ifadeyi sınırlandırmak için eğik çizgi kullanır. /reg/exp/ verilmesi belirsizdir, bu nedenle /reg\/exp/ yazmanız gerekir.
  • Bunların bir dizisini "dizge" çift tırnak içine koyun. Bir karakterden kaçmak zarar veremez çünkü, oradaki olası meta karakterlerle birlikte herhangi bir karakterden kaçabilirsiniz. Tırnak işaretleriyle kaçmak daha temizdir.
  • Yöntemleri karıştıramazsınız, ancak bunları birleştirebilirsiniz.

insource:/"regexp"/ kullanarak çift tırnaktan kaçan, birçok türde dizgiyi aramanın kolay bir yoludur, ancak çift tırnaklı bir kaçış içinde hiçbir şeyden ters eğik çizgi ile kaçamazsınız.

  • /\[\[page\/name\|\{\{temp\-late/ yerine /"[[page/name|{{temp-late"/
  • /"literal back\slash"/, /literal back\\slash/ kadar iyidir
  • Ancak /"This \" fails"/ daimadır.
  • Ve /"This \/ depends"/. Kelimenin tam anlamıyla \/ ile bulur, ki bu muhtemelen istediğiniz / çizgisi değildir.

Backslash-escape, insource:/regexp/ kullanarak " ve/sınırlayıcılardan kaçmaya izin verir, ancak meta karakterleri hesaba katmayı ve herhangi birinden kaçmayı gerektirir:

  • / sınırlayıcı karakteriyle eşleştirmek için \/ kullanın.
  • Bir " ayırıcı karakteriyle eşleştirmek için \" kullanın.
  • Kaçan meta karakterler \~\@\#\&\*\(\)\-\+\{\}\[\]\|\<\>\?\.\\ olacaktır.
  • Çift tırnak ile kaçan eşdeğer ifade "~@#&*()-+{}[]|\<>?.\" olur.

insource:/"regexp"/ kullanarak temel dize bulma ifadesini oluşturmaya yönelik en basit algoritma, " ve / karakterleri dışında meta karakterleri hesaba katmak zorunda değildir:

  1. the/str"ing yazın. (/" Sınırlayıcılar "/ gösterilmez.)
  2. " yerine "\"" koyun (önceki çift alıntı: durdurma, bitiştirme, alıntı yeniden başlatma).
  3. / olarak "\/" ile değiştirin (durdur, birleştir, başlat).
  4. İki yöntemin birleştirilmesini gösteren insource:/"the"\/"str"\""ing"/ elde edersiniz.
Bir arama sonuçları sayfasında bir düzenli ifadeyi hassaslaştırırken, "vikimetin" padajının değiştirilmiş boşluğa sahip olduğunu unutmayın. Düzenli ifadeler boşluk karakterlerine duyarlıdır, bu nedenle pasajlardan kopyalamak tehlikelidir.

Kendi karakter sınıfınızı oluşturmak için köşeli parantez gösterimi ayrıca metakarakterlerinden kaçar. Karakter sınıfı deseninizde değişmez bir sağ köşeli parantezi hedeflemek için ters eğik çizgi öncelenmelidir, aksi takdirde karakter sınıfı desen tanımının kapanış sınırlayıcısı olarak yorumlanabilir. Bir karakter sınıfının ilk konumu da sağ köşeli parantezden kaçacaktır. Bir sınıf karakterinin sınırlayıcı köşeli parantezlerinin içinde, kısa çizgi karakterinin de özel bir anlamı (aralığı) vardır, ancak bu da, sağ köşeli parantezin yapabildiği gibi tam anlamıyla sınıfa dahil edilebilir. Örneğin, bu modellerin her ikisi de bir tire veya sağ köşeli parantez veya bir nokta olan bir karakteri hedefler: [-.\]] veya [].\-].

Meta karakterlerin kullanıldığı genel örnekler için:

  • insource:"2+2=4" insource:/"2+2=4"/, karakterler arasında sıfır boşluk olacak şekilde "2 + 2 = 4" ile eşleşir.
  • insource:"2 + 2 = 4" insource:/2 ?\+ ?2 ?= ?4\./ aradaki sıfır veya bir boşlukla eşleşir. Eşittir = işareti bir meta karakter değildir, ancak artı + işaretidir.
  • insource:"<tag>[[link|2\3?]]\</tag>" insource:/"<tag>[[link|2\3?]]<"\/"tag>"/

Standart düzenli ifade meta karakterlerinden bazı önemli farklılıklar vardır:

  • \n veya \r\n, bir yeni satırı eşleştirmek için ayrılmamıştır. Satırsonu içeren bir dizeyi aramak için, insource:/[^\}]\}\}[^\} \|]{2}\<noinclude/i gibi bir arama yapabilirsiniz; bu, kaşlı ayraç değil, ardından iki küme parantezi, ardından küme parantezi, boşluk veya boru dışında herhangi iki karakter ve ardından bir <noinclude> etiketi anlamına gelir. "Hariç herhangi bir karakter" aramaya yeni bir satır ekler. Bu aramanın yalnızca aşağıdaki dizeyle eşleşecek şekilde tasarlandığını unutmayın:
}}

<noinclude>
  • Nokta . meta karakter, satırsonu dahil herhangi bir karakter anlamına gelir, bu nedenle .* satırlar arasında eşleşir.
  • # işareti bir anlam ifade eder ve kaçılmalıdır.[10]
  • ^ ve $ gerekli değildir. "Grep" (satır başına genel, düzenli ifade, her satırı yazdır) gibi, her insource:// belge başına bir "belge başına genel, düzenli ifade, her belgeyi arama sonuçları-listesi" olur.
  • < ve >, [0-9] yaptığı gibi çok basamaklı bir sayısal aralığı destekler, ancak karakter konumlarının sayısına veya her konumdaki aralığa bakılmaksızın, <9-10> işe yarar ve hatta <1-111> çalışır.

Başlıklarda düzenli ifade

insource anahtar kelimesi yalnızca sayfa kaynak içeriğini arar. Başlık dizgilerinde düzenli ifade aramaları yapmak için intitle:/regex/ kullanılabilir.

Gelişmiş örnek

Örneğin, şablon çağrısının içinde olası imzalı, üç ila dört basamaklı, muhtemelen boşluk karakterleriyle çevrili adsız bir parametreye sahip Val adlı bir şablonun kullanımını bulmak için meta karakterlerin kullanılması aynı sayfada, bir Val çağrısı şablonunun içinde, etrafında izin verilen boşluklar bulunan fmt=commas adlı bir bağımsız değişkendir (aynı şablon çağrısı veya ayrı bir şablon olabilir):

hastemplate:val insource:"fmt commas" insource:/\{\{ *[Vv]al *\|[^}]*fmt *= *commas/ insource:/\{\{ *[Vv]al *\|[^}]*[-+]?[0-9]{3,4} *[|}]/

= işaretinin "fmt virgülüne" gerek olmadığını, ancak bunu eklemenin arama sonuçlarını değiştirmeyeceğini unutmayın. Hızlıdır, çünkü düzenli ifadenin taradığı her sayfanın mümkün olan en yüksek potansiyele sahip olması için iki filtre kullanır.

Coğrafi Arama

bounded

Aramayı, belirtilen bazı coğrafi koordinatlara yakın olduğu belirlenen sayfalarla sınırlandırabilirsiniz. Koordinatlar, bir <lat>,<lon> çifti olarak veya koordinatların kaynaklanacağı bir sayfa başlığı sağlanarak belirtilebilir. İstenirse, aramayı sınırlandıracak bir mesafe öne eklenebilir. Örnekler:

  • neartitle:"San Francisco"
  • neartitle:"100km,San Francisco"
  • nearcoord:37.77666667,-122.39
  • nearcoord:42km,37.77666667,-122.39

boosted

Alternatif olarak, belirli bir coğrafi alandaki sayfaların puanını artırabilirsiniz. Sözdizimi, sınırlı arama ile aynıdır, ancak anahtar kelimenin başına artırılarak eklenir. Bu, arama aralığındaki sayfaların puanını etkili bir şekilde ikiye katlayarak, yakındaki arama sonuçlarının en üste yakın olma şansını artırır.

  • boost-neartitle:"San Francisco"
  • boost-neartitle:"100km,San Francisco"
  • boost-nearcoord:37.77666667,-122.39
  • boost-nearcoord:42km,37.77666667,-122.39

Dosya özellikleri arama

1.28

Gerrit change 311061

MediaWiki 1.28'den bu yana, CirrusSearch File: ad alanındaki dosyaların özelliklerinin indekslenmesini ve aranmasını destekler. Bunlar içerir:

  • dosya ortam türü
  • MIME tüür
  • boyut
  • genişlik ve yükseklik
  • çözüm
  • bunları destekleyen dosyalar için bit derinliği
Bu yüklemler yalnızca dosyalar için yararlı olsa da, kendi başlarına aramayı File: ad alanıyla sınırlandırmazlar. Bu ad alanını bir aramaya dahil etmeniz veya bu koşul ifadelerini kullanırken aramayı yalnızca bu ad alanıyla sınırlamanız önerilir.

filetype

Dosya türünün aranması, dosyaların, ofis belgeleri, videolar, tarama görüntüleri, vektör görüntüleri vb. gibi sınıflandırmalarına göre alınmasını sağlar. Şu anda aşağıdaki türler mevcuttur:

  • UNKNOWN
  • BITMAP
  • DRAWING
  • AUDIO
  • VIDEO
  • MULTIMEDIA
  • OFFICE
  • TEXT
  • EXECUTABLE
  • ARCHIVE

Bu liste gelecekte uzatılabilir. Defines.php içindeki MEDIATYPE_* sabitlerine de bakın.

Aramanın sözdizimi şöyledir: filetype:{type}. Örnek:

filetype:video - tüm videoları arar

filetype araması büyük/küçük harfe duyarlı değildir.

filemime

Dosya MIME türü ile eşleşir. Sözdizimi şöyledir:

filemime:{MIMEtype} - bu MIME türündeki dosyaları arayın

Bağımsız değişken, tam eşleşmeyi belirtmek için alıntılanabilir. Tırnak işaretleri olmadan, MIME türündeki bileşenlerle kısmi eşleşmeler de kabul edilecektir.

Örnekler:

  • filemime:"image/png" - MIME türünde tam olarak image/png olan dosyaları arayın
  • filemime:pdf - tüm PDF belgelerini arayın
  • -filemime:pdf - tüm PDF belgelerini atlayın (özellikle Commons'ta)

MIME türü arama büyük/küçük harfe duyarlı değildir.

filesize

Kilobayt cinsinden verilen boyuttaki dosyayı arayın (kilobayt, 1024 bayt anlamına gelir). Sözdizimi şöyledir:

  • filesize:{number} veya filesize:>{number} - en az belirli sayıda boyutta dosya
  • filesize:<{number} - verilen sayıdan büyük olmayan dosya
  • filesize:{number},{number} - verilen numaralar arasında boyutta dosya

Örnekler:

  • filesize:>20 veya filesize:20 - 20 KB ve daha büyük dosyalar
  • filesize:<1024 - 1MB'den küçük dosyalar
  • filesize:100,500 - 100 KB ile 500 KB arasında boyutlara sahip dosyalar

Dosya ölçüleri

Belirli dosya ölçülerini aramak mümkündür: genişlik, yükseklik, çözünürlük (yükseklik × genişliğin kare kökü olarak tanımlanır) ve bit derinliği. Tüm dosyalar bu özelliklere sahip olmayabilir. Sözdizimi şöyledir:

  • {measure}:{number} - verilen sayıya eşit olan ölçü ile dosya
  • {measure}:>{number} - en az verilen sayı olan ölçü ile dosya
  • {measure}:<{number} - verilen sayıdan fazla olmayan ölçüdeki dosya
  • {measure}:{number},{number} - verilen sayılar arasında olan ölçü ile dosya

measure şunlarda olabilir:

filew veya filewidth - dosya genişliği

fileh veya fileheight - dosya yüksekliği

fileres - dosya çözünürlüğü (yukarıya bakın)

filebits - dosya bit derinliği

Örnekler:

filew:>800 fileh:>600 - boyutu en az 800x600 piksel olan dosyalar

filebits:16 - 16 bit renk derinliğine sahip dosyalar

fileheight:100,500 - 100 ila 500 piksel yüksekliğinde dosya

Wikibase araması

Wikibase uzantısı, belirli Wikibase öğelerini aramayı kolaylaştırmak için bazı arama anahtar kelimelerini tanımlar. Bu, Wikidata ve diğer Wikibase sitelerinde, Wikimedia Commons'da Yapılandırılmış veri ile resimleri aramak dahil olmak üzere yararlıdır. Ayrıntılar için Help:WikibaseCirrusSearch sayfasına bakın.

Çapraz viki arama sonuçları

Wikimedia projelerinde yapılan arama, geliştirilmiş çapraz viki arama sonuçlarını (vikiarası arama sonuçları, kardeş projeler arama sonuçları olarak da bilinir) içerir.

Açık sıralama düzenleri

Varsayılan alaka düzeyine dayalı sıralamaya ek olarak, CirrusSearch birkaç başka açık sıralama düzeni de sonuç sağlayabilir. relevance dışında bir sıralama düzeni belirtmek, prefer-recent veya boost-templates gibi puanlamayı etkileyen tüm arama anahtar kelimelerini devre dışı bırakır. Anahtar sözcükler yine de ayrıştırılacak, ancak hiçbir etkisi olmayacak.

Sıralama seçenekleri şu anda MediaWiki API'sinden srsort parametresi sağlanarak kullanılabilir.

Sıralama seçenekleri bir arama URL'sine &sort=order eklenerek elle eklenebilir, örneğin https://www.mediawiki.org/w/index.php?search=foo&sort=last_edit_desc.

Geçerli sıralama düzenleri şunları içerir:

Sıralama düzeni Açıklama
incoming_links_asc En düşük ila en yüksek gelen bağlantı sayısı. Bu yaklaşık olarak en azdan en popülere doğru.
incoming_links_desc En yüksekten en düşüğe doğru gelen bağlantı sayısı. Bu yaklaşık olarak en popülerden en az popüler olana doğru.
last_edit_asc En az yakın zamandan en son düzenlenene
last_edit_desc En çok değiştirilenden en son düzenlenene
create_timestamp_asc En azdan en son oluşturulmuşa
create_timestamp_desc En çoktan en son oluşturulmuşa
just_match Yalnızca metin eşlemeye dayalı basit bir alaka düzeyi sıralaması
relevance Belgenin birçok özelliğini dikkate alan bir alaka sıralaması
random Rastgele
none Sıralanmamış, keyfi olarak sıralanan listeler. Büyük sonuç kümeleri için tercih edilir.

Gelişmiş seçenekler için arayüz

 
Gelişmiş Arama Arayüzü

AdvancedSearch uzantısı, yukarıda açıklanan birkaç seçeneğin kullanıcı dostu bir şekilde kullanılmasına izin veren gelişmiş bir arayüze arama sayfasına ekler. Kullanım kılavuzu için buraya bakın.

Ayrıca bakınız

Dış bağlantılar

Notlar ve kaynakça

  1. Tagline gerçek içeriğin parçası olmadığını unutmayın. Bir sayfa için aranabilir içeriği görmek için URL'ye ?action=cirrusdump ekleyin.
  2. Durdurma sözcükleri, aşağıda açıklandığı gibi, belirli türden tümceciklerde oldukları durumlar dışında, CirrusSearch'te nadiren çağrılır.
  3. CirrusSearch parametreleri bu arama terimlerini işlemek için tutarlı bir yol kullanmaz.
  4. Vikimetini indekslemek için kullanılan aynı analizör de sorguyu yorumlamak için kullanılır.
  5. Örneğin, bu viki, MediaWiki.org'daki yaygın terimler, gereksiz olarak (aranır):
    • udp2log veya udp2log2 (ancak ekstra 2 sıralamayı etkileyecektir)
    • html2wt veya wt2html
    • log2ip veya ip2log
    test2wiki, wiki2xml, wiki2dict, apache2handler, apache2ctl vb. var.
  6. CirrusSearch düzenli ifadesi yeni satır karakterine doğrudan hitap etmez, ancak bir nokta . yeni satırla eşleşir.
  7. Yavaş bir normal ifade araması, aramayı devre dışı bırakamaz, ancak bir seferde yalnızca sınırlı sayıda normal ifade aramasına izin verildiğinden, başka birinin normal ifade aramasını devre dışı bırakabilir.
  8. Önek, tam sayfa adlarının ilk karakterleriyle eşleşmez, bu nedenle aynı harflerle başladıkları için iki ad alanını aynı anda arayamazsınız, örneğin bir sorguda hem "ad alanı" hem de "ad alanı tartışma" gibi.
  9. Biçimsel tanım için düzenli ifadeler için Lucene dilbilgisine bakın.
  10. Class RegExp, Lucene RegExp sözdizimi