Minoru Osuka created SOLR-5290:
----------------------------------

             Summary: Warming up using search logs.
                 Key: SOLR-5290
                 URL: https://issues.apache.org/jira/browse/SOLR-5290
             Project: Solr
          Issue Type: Wish
          Components: search
    Affects Versions: 4.4
            Reporter: Minoru Osuka
            Priority: Minor


It is possible to warm up of cache automatically in newSearcher event, but it 
is impossible to warm up of cache automatically in firstSearcher event because 
there isn't old searcher.

We describe queries in solrconfig.xml if we required to cache in firstSearcher 
event like this:
{code:xml}
    <listener event="firstSearcher" class="solr.QuerySenderListener">
      <arr name="queries">
        <lst>
          <str name="q">static firstSearcher warming in solrconfig.xml</str>
        </lst>
      </arr>
    </listener>
{code}

This setting is very statically. I want to query dynamically in firstSearcher 
event when restart solr. So I paid my attention to the past search log. I think 
if there are past search logs, it is possible to warm up of cache automatically 
in firstSearcher event like an autowarming of the cache in newSearcher event.

I had created QueryLogSenderListener which extended QuerySenderListener.

Sample definition in solrconfig.xml:
 - directory : Specify the Solr log directory. (Required)
 - regex : Describe the regular expression of log. (Required)
 - encoding : Specify the Solr log encoding. (Default : UTF-8)
 - count : Specify the number of the log to process. (Default : 100)
 - paths : Specify the request handler name to process.
 - exclude_params : Specify the request parameter to except.

{code:xml}
    <!-- Warming up using search logs.
      -->
    <listener event="firstSearcher" class="solr.QueryLogSenderListener">
      <arr name="queries">
        <lst>
          <str name="q">static firstSearcher warming in solrconfig.xml</str>
        </lst>
      </arr>
      <str name="directory">logs</str>
      <str name="encoding">UTF-8</str>
      <str 
name="regex"><![CDATA[^(?<level>[\w]+)\s+\-\s+(?<timestamp>[\d\-\s\.:]+);\s+(?<class>[\w\.\_\$]+);\s+\[(?<core>.+)\]\s+webapp=(?<webapp>.+)\s+path=(?<path>.+)\s+params=\{(?<params>.*)\}\s+hits=(?<hits>\d+)\s+status=(?<status>\d+)\s+QTime=(?<qtime>\d+).*]]></str>
      <arr name="paths">
        <str>/select</str>
      </arr>
      <int name="count">100</int>
      <arr name="exclude_params">
        <str>indent</str>
        <str>_</str>
      </arr>
    </listener>
{code}

I'd like to propose this feature.



--
This message was sent by Atlassian JIRA
(v6.1#6144)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org
For additional commands, e-mail: dev-h...@lucene.apache.org

Reply via email to