<?xml version="1.0" ?>
<!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor
 license agreements. See the NOTICE file distributed with this work for additional
 information regarding copyright ownership. The ASF licenses this file to
 You under the Apache License, Version 2.0 (the "License"); you may not use
 this file except in compliance with the License. You may obtain a copy of
 the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required
 by applicable law or agreed to in writing, software distributed under the
 License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS
 OF ANY KIND, either express or implied. See the License for the specific
 language governing permissions and limitations under the License. -->

<config>
    <luceneMatchVersion>${tests.luceneMatchVersion:LATEST}</luceneMatchVersion>
 <dataDir>${solr.data.dir:}</dataDir>
 <directoryFactory name="DirectoryFactory"
  class="${solr.directoryFactory:solr.RAMDirectoryFactory}" />

 <schemaFactory class="ClassicIndexSchemaFactory" />

 <requestDispatcher>
   <requestParsers enableStreamBody="true" />
 </requestDispatcher>
 
 <!-- Query parser used to rerank top docs with a provided model -->
 <queryParser name="ltr" class="org.apache.solr.ltr.search.LTRQParserPlugin" >
  <int name="threadModule.totalPoolThreads">10</int> <!-- Maximum threads to use for all queries -->
  <int name="threadModule.numThreadsPerRequest">10</int> <!-- Maximum threads to use for a single query-->
 </queryParser>



 <query>
  <filterCache size="4096"
   initialSize="2048" autowarmCount="0" />
  <cache name="QUERY_DOC_FV" size="4096"
   initialSize="2048" autowarmCount="4096" regenerator="solr.search.NoOpRegenerator" />
 </query>

 <!-- add a transformer that will encode the document features in the response.
  For each document the transformer will add the features as an extra field
  in the response. The name of the field we will be the the name of the transformer
  enclosed between brackets (in this case [fv]). In order to get the feature
  vector you will have to specify that you want the field (e.g., fl="*,[fv]) -->
 <transformer name="fv" class="org.apache.solr.ltr.response.transform.LTRFeatureLoggerTransformerFactory">
   <str name="fvCacheName">QUERY_DOC_FV</str>
 </transformer>

 <updateHandler class="solr.DirectUpdateHandler2">
  <autoCommit>
   <maxTime>15000</maxTime>
   <openSearcher>false</openSearcher>
  </autoCommit>
  <autoSoftCommit>
   <maxTime>1000</maxTime>
  </autoSoftCommit>
  <updateLog>
   <str name="dir">${solr.data.dir:}</str>
  </updateLog>
 </updateHandler>

 <requestHandler name="/update" class="solr.UpdateRequestHandler" />
 <!-- Query request handler managing models and features -->
 <requestHandler name="/query" class="solr.SearchHandler">
  <lst name="defaults">
   <str name="echoParams">explicit</str>
   <str name="wt">json</str>
   <str name="indent">true</str>
   <str name="df">id</str>
  </lst>
 </requestHandler>

</config>
