Apache Solrをローカルで使う時にCORSエラーを回避する方法

表題のとおりです。これができると、ローカルのHTMLファイルに書き込んだJavaScriptでApache Solrから検索して結果を表示できるようになります。 ある種の用途には非常に便利です。

やり方ですが、以下の頁を参照しています。

Going Cross-Origin with Solr - OpenSource Connections

が、Solrのver. 9.6.1の時点では、ここに書いてあるように jetty-servletsやjetty-utilsを持ってくる必要はなく、単に、

server/solr-webapp/webapp/WEB-INF/web.xml

の中に以下の情報を追加して、Solrを再起動するだけでいいようです。

<filter>
   <filter-name>cross-origin</filter-name>
   <filter-class>org.eclipse.jetty.servlets.CrossOriginFilter</filter-class>
   <init-param>
     <param-name>allowedOrigins</param-name>
     <param-value>*</param-value>
   </init-param>
   <init-param>
     <param-name>allowedMethods</param-name>
     <param-value>GET,POST,OPTIONS,DELETE,PUT,HEAD</param-value>
   </init-param>
   <init-param>
     <param-name>allowedHeaders</param-name>
     <param-value>origin, content-type, accept</param-value>
   </init-param>
 </filter>

 <filter-mapping>
   <filter-name>cross-origin</filter-name>
   <url-pattern>/*</url-pattern>
 </filter-mapping>

上記のXMLエレメントを追加する場所は、以下のエレメントの次で大丈夫でした。

  <listener>
   <listener-class>org.apache.solr.servlet.CoreContainerProvider</listener-class>
  </listener>