Solr Performans İpuçlarıVolkan Altan
@volkanaltan Meetup, 16 Nisan 2016
Senior Software Developerhttp://volkanaltan.com
Nelere bakacağız?1. Doğru mimari seçimi !2. Schema ayarları !3. SolrConfig ayarları !4. Debug
Mimariyi BelirleyinBasit kullanım için tek bir Solr yeterli olabilir. Ancak okuma ve yazma ihtiyacınıza bağlı olarak Master - Slave, buda yeterli değilse SolCloud'a geçmeniz gerekebilir.
Başlarken
schema.xmlFieldType/Analyzer
• Query ve index tipine göre uygun "tokenizer" ve "filter" seçimi yapılmalı. !
• StopFilterFactory, SynonymFilterFactory gibi kullanılmayan filtreler ilgili "field" için kaldırılmalı.
• Benzer özelliklerdeki filtreler teke indirilmeli. (TurkishLowerCaseFilterFactory kullanılıyorsa LowerCaseFilterFactory kaldırılmalı) !
• "stored" özelliği dikkatli kullanılmalı !
• Bir alanı iki kere import etmekten kaçınmak için "copyField" kullanılmalı
solrconfig.xmlSolrCaching/requestHandler/listener • filterCache, facet sorgulamalarına göre sırasız bir şekilde dökümanları cache
ler. Bu işlemler benzer sorguların hızlı çalışmasını sağlıyor. !
• queryResultCache, kriterlere göre sonuçları sıraları bir şekilde cache lemede kullanılır.
• documentCache, döküman objelerinin "stored" olan fieldlerinin sorguda "fl" kullanılarak çekilen kısımların cache lenmesinde etkili
• Özelleştirilmiş Cache
• listener kullanılarak newSearcher ve firstSearcher için warm cache hazırlanmalı
https://wiki.apache.org/solr/SolrCaching
solrconfig.xmlSolrCaching/requestHandler/listener
https://wiki.apache.org/solr/SolrCaching https://wiki.apache.org/solr/SolrTerminology
http://localhost:8984/solr/#/plugins/cache
Debug
https://wiki.apache.org/solr/QueryParser
• timing, kullanılan bileşenlerin çalışma süreleri hakkında bilgi verir
• query, sorgu hakkında detayları içerir, çarpan değerleri vs..
• results, her bir sonucun eşleşme değerlerini gösterir
• true, bütün hepsini birden gösterir
Sorular