olefrank
olefrank

Reputation: 6820

Solr performance optimization

I am working on a big website with pretty high traffic. I use Apache Solr as search engine. I have a lot of filters in my qf param as you can see (which 'sections' to include search results from).

Will this kind of query affect performance noticably or is Solr optimized for this kind of query?

http://xxx.xx.xx.xxx:xxxx/solr/core1/select?q=%7b!frange+l%3d0.3%7dquery(%24qq)&qq=search+term&sort=publishdate+desc%2cscore+desc&hl.fl=&hl.fragsize=240&hl.q=search+term&fq=contenttype%3a(default+OR+tv)&fq=publishdate%3a%5b+TO+NOW%5d&fq=(publication%3publication-name+AND+home_section%3a(491+OR+492+OR+1872+OR+499+OR+500+OR+501+OR+503+OR+502+OR+514+OR+521+OR+511+OR+512+OR+508+OR+509+OR+510+OR+504+OR+518+OR+520+OR+519+OR+515+OR+517+OR+516+OR+505+OR+507+OR+506+OR+513+OR+522+OR+523+OR+524+OR+525+OR+526+OR+527+OR+528+OR+529+OR+530+OR+531+OR+532+OR+533+OR+534+OR+535+OR+536+OR+537+OR+538+OR+539+OR+541+OR+542+OR+543+OR+545+OR+544+OR+549+OR+551+OR+552+OR+550+OR+547+OR+563+OR+564+OR+565+OR+566+OR+567+OR+568+OR+569+OR+570+OR+571+OR+572+OR+573+OR+574+OR+1928+OR+575+OR+576+OR+1870+OR+577+OR+578+OR+579+OR+580+OR+581+OR+583+OR+582+OR+591+OR+592+OR+593+OR+584+OR+590+OR+585+OR+586+OR+587+OR+589+OR+588+OR+595+OR+596+OR+597+OR+599+OR+600+OR+601+OR+602+OR+603+OR+606+OR+607+OR+608+OR+609+OR+610+OR+604+OR+605+OR+611+OR+612+OR+613+OR+614+OR+615+OR+616+OR+617+OR+618+OR+619+OR+620+OR+621+OR+622+OR+598+OR+624+OR+626+OR+628+OR+630+OR+631+OR+625+OR+627+OR+1819+OR+629+OR+1820+OR+1951+OR+1952+OR+2647+OR+632+OR+1821+OR+2393+OR+2665+OR+1818+OR+633+OR+649+OR+2311+OR+2330+OR+1927+OR+651+OR+657+OR+1926+OR+654+OR+653+OR+652+OR+650+OR+493+OR+494+OR+497+OR+496+OR+495+OR+498+OR+1901+OR+638+OR+639+OR+886+OR+887+OR+888+OR+640+OR+641+OR+642+OR+643+OR+644+OR+645+OR+646+OR+647+OR+648+OR+658+OR+659+OR+660+OR+661+OR+662+OR+663+OR+664+OR+665+OR+666+OR+2764+OR+667+OR+668+OR+669+OR+670+OR+671+OR+672+OR+673+OR+674+OR+675+OR+881+OR+676+OR+677+OR+678+OR+679+OR+680+OR+681+OR+682+OR+683+OR+753+OR+754+OR+684+OR+685+OR+686+OR+687+OR+688+OR+689+OR+690+OR+691+OR+692+OR+693+OR+694+OR+695+OR+696+OR+697+OR+698+OR+699+OR+700+OR+701+OR+702+OR+703+OR+704+OR+705+OR+706+OR+707+OR+708+OR+709+OR+710+OR+711+OR+712+OR+713+OR+714+OR+715+OR+716+OR+717+OR+718+OR+719+OR+720+OR+721+OR+722+OR+723+OR+724+OR+725+OR+726+OR+727+OR+728+OR+729+OR+730+OR+731+OR+732+OR+733+OR+734+OR+735+OR+736+OR+737+OR+738+OR+739+OR+740+OR+741+OR+742+OR+743+OR+744+OR+745+OR+746+OR+768+OR+747+OR+748+OR+749+OR+750+OR+751+OR+752+OR+755+OR+756+OR+757+OR+758+OR+759+OR+760+OR+761+OR+762+OR+763+OR+764+OR+765+OR+766+OR+767+OR+2678+OR+769+OR+770+OR+847+OR+771+OR+772+OR+773+OR+774+OR+775+OR+783+OR+776+OR+777+OR+778+OR+779+OR+780+OR+781+OR+782+OR+784+OR+2420+OR+785+OR+786+OR+787+OR+788+OR+789+OR+790+OR+791+OR+792+OR+793+OR+794+OR+795+OR+796+OR+797+OR+798+OR+799+OR+800+OR+801+OR+802+OR+803+OR+804+OR+805+OR+806+OR+807+OR+882+OR+2682+OR+808+OR+809+OR+810+OR+811+OR+2765+OR+812+OR+813+OR+814+OR+815+OR+816+OR+817+OR+818+OR+819+OR+820+OR+821+OR+822+OR+823+OR+824+OR+825+OR+826+OR+827+OR+828+OR+829+OR+830+OR+832+OR+833+OR+834+OR+835+OR+836+OR+837+OR+838+OR+839+OR+840+OR+831+OR+841+OR+842+OR+843+OR+844+OR+845+OR+846+OR+848+OR+849+OR+850+OR+851+OR+852+OR+853+OR+854+OR+855+OR+856+OR+857+OR+858+OR+859+OR+860+OR+861+OR+862+OR+863+OR+864+OR+865+OR+866+OR+867+OR+868+OR+869+OR+870+OR+871+OR+872+OR+873+OR+874+OR+875+OR+876+OR+877+OR+878+OR+879+OR+880+OR+883+OR+884+OR+885+OR+1857+OR+634+OR+635+OR+1900+OR+1950+OR+889+OR+890+OR+891+OR+892+OR+893+OR+894+OR+895+OR+1747+OR+2350+OR+2106+OR+2072+OR+1755+OR+1752+OR+2060+OR+2061+OR+1756))+OR+(publication%3apublication2)&fq=-home_section%3a(2800+OR+2888+OR+2801+OR+2887+OR+2803+OR+2802+OR+2814+OR+2808+OR+2809+OR+2820+OR+2845+OR+2930)&&shards=xxx.xx.xx.xxx:xxxx/solr/core2/,xxx.xx.xx.xxx:xxxx/solr/core1/

Upvotes: 0

Views: 100

Answers (1)

Ramzy
Ramzy

Reputation: 7148

Solr uses Filter Caching mechanism to fetch the results quickly. You can find more info here regarding filters and caching.

Another challenge is with lengthy query is during the usage of GET, as it has a limit on servlet container. So you can switch to POST as a safe choice if you have not done already. Look here for some comparisons. If only GET, you can increase the limit. Look here

And major part of your query is having home_section. Hope you have used range option rather than OR and end up with lengthy query. Of course your requirements should define it

Upvotes: 2

Related Questions