diff --git a/build.xml b/build.xml
index 290448ae9a93045b071cef48fc80e74a2da6831f..dcc848f3b99c5b8b2d8765aeb271f30ba8c40421 100644
--- a/build.xml
+++ b/build.xml
@@ -25,7 +25,7 @@
   <property name="selenium_browser" value="firefox" />
   <property name="snooze_multiplier" value="1" /><!-- can be used to slow down tests (selenium only) -->
   <property name="solr_startup_sleep" value="0" />
-  <property name="solr_version" value="5.5.0" />
+  <property name="solr_version" value="6.4.2" />
   <property name="php-cs-fixers" value="no_blank_lines_before_namespaces,function_call_space,trailing_spaces,unused_use,lowercase_keywords,encoding,parenthesis,php_closing_tag,visibility,duplicate_semicolon,extra_empty_lines,no_blank_lines_after_class_opening,no_empty_lines_after_phpdocs,operators_spaces,spaces_before_semicolon,ternary_spaces,concat_with_spaces,short_array_syntax,phpdoc_no_access,remove_leading_slash_use,eof_ending" />
 
 
diff --git a/import/browse-indexing.jar b/import/browse-indexing.jar
index 8f3be925d57100979828bca0b948244b60509191..33ae93b4edea90d3119419f64b38c41f2e63638f 100644
Binary files a/import/browse-indexing.jar and b/import/browse-indexing.jar differ
diff --git a/solr/vufind/authority/conf/schema.xml b/solr/vufind/authority/conf/schema.xml
index c996a3797746ad59b9006f70b610303344bac9c9..7bf34675b446a49c67b638b922629465b9bc4820 100644
--- a/solr/vufind/authority/conf/schema.xml
+++ b/solr/vufind/authority/conf/schema.xml
@@ -72,13 +72,9 @@
   </fields>
 
   <uniqueKey>id</uniqueKey>
-  <defaultSearchField>allfields</defaultSearchField>
 
   <!-- CopyFields for Keyword Searching -->
   <copyField source="heading" dest="heading_keywords" />
   <copyField source="use_for" dest="use_for_keywords" />
   <copyField source="see_also" dest="see_also_keywords" />
-
-  <!-- Default Boolean Operator -->
-  <solrQueryParser defaultOperator="AND"/>
 </schema>
diff --git a/solr/vufind/authority/conf/solrconfig.xml b/solr/vufind/authority/conf/solrconfig.xml
index 3ff9ac4858755474e0e83774c0c62044e330926f..95a92a911257697e320721e859d9c5b0d8a3b604 100644
--- a/solr/vufind/authority/conf/solrconfig.xml
+++ b/solr/vufind/authority/conf/solrconfig.xml
@@ -32,7 +32,10 @@
        that you fully re-index after changing this setting as it can
        affect both how text is indexed and queried.
     -->
-  <luceneMatchVersion>5.5.0</luceneMatchVersion>
+  <luceneMatchVersion>6.4.2</luceneMatchVersion>
+
+  <!-- Use the classic schema style by default for VuFind -->
+  <schemaFactory class="ClassicIndexSchemaFactory"/>
 
   <!-- Used to specify an alternate directory to hold all index data
        other than the default ./data under the Solr home.
@@ -356,6 +359,8 @@
     -->
     <lst name="defaults">
       <str name="echoParams">explicit</str>
+      <str name="q.op">AND</str>
+      <str name="df">allfields</str>
     </lst>
   </requestHandler>
   
@@ -369,16 +374,20 @@
   -->
   <requestHandler name="dismax" class="solr.SearchHandler">
     <lst name="defaults">
-     <str name="defType">dismax</str>
-     <str name="echoParams">explicit</str>
+      <str name="defType">dismax</str>
+      <str name="echoParams">explicit</str>
+      <str name="q.op">AND</str>
+      <str name="df">allfields</str>
     </lst>
   </requestHandler>
   
   <requestHandler name="edismax" class="solr.SearchHandler">
     <lst name="defaults">
-     <str name="defType">edismax</str>
-     <str name="echoParams">explicit</str>
-     <str name="lowercaseOperators">false</str>
+      <str name="defType">edismax</str>
+      <str name="echoParams">explicit</str>
+      <str name="lowercaseOperators">false</str>
+      <str name="q.op">AND</str>
+      <str name="df">allfields</str>
     </lst>
   </requestHandler>
   
diff --git a/solr/vufind/biblio/conf/schema.xml b/solr/vufind/biblio/conf/schema.xml
index 0dad084b5ee33fc89ce221c49eb638dc1cf6818c..94c91be5aaf631b5873070074ef42aecd602caa9 100644
--- a/solr/vufind/biblio/conf/schema.xml
+++ b/solr/vufind/biblio/conf/schema.xml
@@ -235,7 +235,6 @@
    <dynamicField name="*_geo" type="geo" indexed="true" stored="true" multiValued="true" />
  </fields>
  <uniqueKey>id</uniqueKey>
- <defaultSearchField>allfields</defaultSearchField>
  <!-- CopyFields for Spelling -->
  <!-- ** Basic, single word spelling -->
  <copyField source="allfields" dest="spelling"/>
@@ -266,6 +265,4 @@
  <!-- CopyFields for call numbers -->
  <copyField source="dewey-raw" dest="dewey-search"/>
  <copyField source="callnumber-raw" dest="callnumber-search"/>
- <!-- Default Boolean Operator -->
- <solrQueryParser defaultOperator="AND"/>
 </schema>
diff --git a/solr/vufind/biblio/conf/solrconfig.xml b/solr/vufind/biblio/conf/solrconfig.xml
index 5aa7c147591fd1de1d1c762a5f537af942b061a2..e7fd5bbf75e22a3e5f74def9a072d777a1ad4316 100644
--- a/solr/vufind/biblio/conf/solrconfig.xml
+++ b/solr/vufind/biblio/conf/solrconfig.xml
@@ -32,7 +32,10 @@
        that you fully re-index after changing this setting as it can
        affect both how text is indexed and queried.
     -->
-  <luceneMatchVersion>5.5.0</luceneMatchVersion>
+  <luceneMatchVersion>6.4.2</luceneMatchVersion>
+
+  <!-- Use the classic schema style by default for VuFind -->
+  <schemaFactory class="ClassicIndexSchemaFactory"/>
 
   <!-- Used to specify an alternate directory to hold all index data
        other than the default ./data under the Solr home.
@@ -364,6 +367,8 @@
       <str name="spellcheck.extendedResults">true</str>
       <str name="spellcheck.onlyMorePopular">true</str>
       <str name="spellcheck.count">20</str>
+      <str name="q.op">AND</str>
+      <str name="df">allfields</str>
     </lst>
     <arr name="last-components">
       <str>spellcheck</str>
@@ -386,6 +391,8 @@
       <str name="spellcheck.extendedResults">true</str>
       <str name="spellcheck.onlyMorePopular">true</str>
       <str name="spellcheck.count">20</str>
+      <str name="q.op">AND</str>
+      <str name="df">allfields</str>
     </lst>
     <arr name="last-components">
       <str>spellcheck</str>
@@ -401,6 +408,8 @@
       <str name="spellcheck.onlyMorePopular">true</str>
       <str name="spellcheck.count">20</str>
       <str name="lowercaseOperators">false</str>
+      <str name="q.op">AND</str>
+      <str name="df">allfields</str>
     </lst>
     <arr name="last-components">
       <str>spellcheck</str>
diff --git a/solr/vufind/jars/browse-handler.jar b/solr/vufind/jars/browse-handler.jar
index 2fec646bfbe44a394851a592c692aa9b43c7cf65..f66b06e01515e9805bf9f05c6a9196391a09183f 100644
Binary files a/solr/vufind/jars/browse-handler.jar and b/solr/vufind/jars/browse-handler.jar differ
diff --git a/solr/vufind/reserves/conf/schema.xml b/solr/vufind/reserves/conf/schema.xml
index 5a07fa5638e00d517b56b58deeff4c6d8dc2f874..ff9d441b475a35de904d101ccb4d8935dda275a1 100644
--- a/solr/vufind/reserves/conf/schema.xml
+++ b/solr/vufind/reserves/conf/schema.xml
@@ -38,10 +38,7 @@
    <field name="department_str" type="string" indexed="true" stored="true"/>
  </fields>
  <uniqueKey>id</uniqueKey>
- <defaultSearchField>course</defaultSearchField>
  <copyField source="course"     dest="course_str"/>
  <copyField source="instructor" dest="instructor_str"/>
  <copyField source="department" dest="department_str"/>
- <!-- Default Boolean Operator -->
- <solrQueryParser defaultOperator="AND"/>
 </schema>
diff --git a/solr/vufind/reserves/conf/solrconfig.xml b/solr/vufind/reserves/conf/solrconfig.xml
index 0213268f2700a5be701ab05625991607cbabfbdd..40b3e7fadd0f92980ee274519aa86340c7b92cb9 100644
--- a/solr/vufind/reserves/conf/solrconfig.xml
+++ b/solr/vufind/reserves/conf/solrconfig.xml
@@ -32,7 +32,10 @@
        that you fully re-index after changing this setting as it can
        affect both how text is indexed and queried.
     -->
-  <luceneMatchVersion>5.5.0</luceneMatchVersion>
+  <luceneMatchVersion>6.4.2</luceneMatchVersion>
+
+  <!-- Use the classic schema style by default for VuFind -->
+  <schemaFactory class="ClassicIndexSchemaFactory"/>
 
   <!-- Used to specify an alternate directory to hold all index data
        other than the default ./data under the Solr home.
@@ -356,6 +359,8 @@
     -->
     <lst name="defaults">
       <str name="echoParams">explicit</str>
+      <str name="q.op">AND</str>
+      <str name="df">course</str>
     </lst>
   </requestHandler>
   
@@ -369,16 +374,20 @@
   -->
   <requestHandler name="dismax" class="solr.SearchHandler">
     <lst name="defaults">
-     <str name="defType">dismax</str>
-     <str name="echoParams">explicit</str>
+      <str name="defType">dismax</str>
+      <str name="echoParams">explicit</str>
+      <str name="q.op">AND</str>
+      <str name="df">course</str>
     </lst>
   </requestHandler>
   
   <requestHandler name="edismax" class="solr.SearchHandler">
     <lst name="defaults">
-     <str name="defType">edismax</str>
-     <str name="echoParams">explicit</str>
-     <str name="lowercaseOperators">false</str>
+      <str name="defType">edismax</str>
+      <str name="echoParams">explicit</str>
+      <str name="lowercaseOperators">false</str>
+      <str name="q.op">AND</str>
+      <str name="df">course</str>
     </lst>
   </requestHandler>
   
diff --git a/solr/vufind/website/conf/schema.xml b/solr/vufind/website/conf/schema.xml
index 2982f1e4dcf6c5099c6f5e5eca5fa4816cac5f8c..82e91df53758a7a4470e8f5b7b5be788ba60646b 100644
--- a/solr/vufind/website/conf/schema.xml
+++ b/solr/vufind/website/conf/schema.xml
@@ -132,7 +132,6 @@
    <dynamicField name="*_txtP_mv" type="textProper" indexed="true" stored="true" multiValued="true"/>
  </fields>
  <uniqueKey>id</uniqueKey>
- <defaultSearchField>fulltext</defaultSearchField>
  <!-- CopyFields for Spelling -->
  <copyField source="title"    dest="spellingShingle"/>
  <!-- Copy title information to special field for sorting -->
@@ -151,6 +150,4 @@
  <copyField source="subject" dest="keywords_unstemmed" />
  <copyField source="linktype" dest="keywords_unstemmed" />
  <copyField source="title" dest="title_unstemmed"/>
- <!-- Default Boolean Operator -->
- <solrQueryParser defaultOperator="AND"/>
 </schema>
diff --git a/solr/vufind/website/conf/solrconfig.xml b/solr/vufind/website/conf/solrconfig.xml
index bedbf83cad32141b35a0f49522e83a464a7bd5f8..ff7f906d126e6dacca9a1f23d65d11c1c4e4ba5f 100644
--- a/solr/vufind/website/conf/solrconfig.xml
+++ b/solr/vufind/website/conf/solrconfig.xml
@@ -32,7 +32,10 @@
        that you fully re-index after changing this setting as it can
        affect both how text is indexed and queried.
     -->
-  <luceneMatchVersion>5.5.0</luceneMatchVersion>
+  <luceneMatchVersion>6.4.2</luceneMatchVersion>
+
+  <!-- Use the classic schema style by default for VuFind -->
+  <schemaFactory class="ClassicIndexSchemaFactory"/>
 
   <!-- Used to specify an alternate directory to hold all index data
        other than the default ./data under the Solr home.
@@ -353,16 +356,18 @@
   -->
   <requestHandler name="standard" class="solr.StandardRequestHandler" default="true">
     <!-- default values for query parameters -->
-     <lst name="defaults">
-       <str name="echoParams">explicit</str>
-       <!--
-       <int name="rows">10</int>
-       <str name="fl">*</str>
-       <str name="version">2.1</str>
-        -->
-     <str name="spellcheck.extendedResults">true</str>
-     <str name="spellcheck.onlyMorePopular">true</str>
-     <str name="spellcheck.count">20</str>
+    <lst name="defaults">
+      <str name="echoParams">explicit</str>
+      <!--
+      <int name="rows">10</int>
+      <str name="fl">*</str>
+      <str name="version">2.1</str>
+       -->
+      <str name="spellcheck.extendedResults">true</str>
+      <str name="spellcheck.onlyMorePopular">true</str>
+      <str name="spellcheck.count">20</str>
+      <str name="q.op">AND</str>
+      <str name="df">fulltext</str>
     </lst>
     <arr name="last-components">
       <str>spellcheck</str>
@@ -379,11 +384,13 @@
   -->
   <requestHandler name="dismax" class="solr.SearchHandler">
     <lst name="defaults">
-     <str name="defType">dismax</str>
-     <str name="echoParams">explicit</str>
-     <str name="spellcheck.extendedResults">true</str>
-     <str name="spellcheck.onlyMorePopular">true</str>
-     <str name="spellcheck.count">20</str>
+      <str name="defType">dismax</str>
+      <str name="echoParams">explicit</str>
+      <str name="spellcheck.extendedResults">true</str>
+      <str name="spellcheck.onlyMorePopular">true</str>
+      <str name="spellcheck.count">20</str>
+      <str name="q.op">AND</str>
+      <str name="df">fulltext</str>
     </lst>
     <arr name="last-components">
       <str>spellcheck</str>
@@ -392,12 +399,14 @@
 
   <requestHandler name="edismax" class="solr.SearchHandler">
     <lst name="defaults">
-     <str name="defType">edismax</str>
-     <str name="echoParams">explicit</str>
-     <str name="spellcheck.extendedResults">true</str>
-     <str name="spellcheck.onlyMorePopular">true</str>
-     <str name="spellcheck.count">20</str>
-     <str name="lowercaseOperators">false</str>
+      <str name="defType">edismax</str>
+      <str name="echoParams">explicit</str>
+      <str name="spellcheck.extendedResults">true</str>
+      <str name="spellcheck.onlyMorePopular">true</str>
+      <str name="spellcheck.count">20</str>
+      <str name="lowercaseOperators">false</str>
+      <str name="q.op">AND</str>
+      <str name="df">fulltext</str>
     </lst>
     <arr name="last-components">
       <str>spellcheck</str>