According to "The 7 Deadly Sins of Solr" its incredibly common to find Solr installs which are (like mine) just modifications of the example app - mine even stretches as far as still containing "Solr Rocks" in the solrconfig.xml file.
So without further ado im going to fix those two issues.
To start with ill be renaming the "example" folder to something proper.
You can call it whatever you feel is appropriate; just remember that from
now i will be referring to the search app as "ProductIndex"
%> mv example ProductIndex
Next thing i am going to do is get rid of the "Solr Rocks" and see if we can tidy up the config.
The main config file for solr is located in "ProductIndex/solr/conf"
lets see what else is there.
%> cd ProductIndex/solr/conf %> ls -1 admin-extra.html elevate.xml mapping-ISOLatin1Accent.txt protwords.txt schema.xml scripts.conf solrconfig.xml spellings.txt stopwords.txt synonyms.txt xslt
The file we are interested in is the "solrconfig.xml"
Lets attack it
%> vim solrconfig.xml
Ok so lets find the "solr rocks" section and see whats going on there
in vim
esc :417
will take you directly to the line in question
in context you will see something like this
<!-- a firstSearcher event is fired whenever a new searcher is being prepared but there is no current registered searcher to handle requests or to gain autowarming data from. -->
<listener class="solr.QuerySenderListener" event="firstSearcher"> <arr name="queries"> <lst> <str name="q">solr rocks</str><str name="start">0</str><str name="rows">10</str></lst> <lst><str name="q">static firstSearcher warming query from solrconfig.xml</str></lst> </arr> </listener>
So whats all that mean ?
Well - basically it sets up a simple warming query that will get run if there is no configuration
set up for any requests that might be made. (kind of like it says in the comment). It is usually used
when Solr is first started to warm up the cache. right now this is not going to be of any use unless by some stroke of coincidence you have documents containing the search term "Solr Rocks"
So lets put something sensible in there like a really common query. You can specify several if you wish
Im going to change mine to say the following.
<!-- a firstSearcher event is fired whenever a new searcher is being prepared but there is no current registered searcher to handle requests or to gain autowarming data from. --> <listener event="firstSearcher" class="solr.QuerySenderListener"> <arr name="queries"> <lst> <str name="q">Tiesto</str><str name="start">0</str><str name="rows">10</str></lst> </arr> </listener>
Now reading further the comment in the code says this will get run when there is no current registered searcher.
No comments:
Post a Comment