Solrのスキーマについてネット上で色々と説明頂いている。多様な各種文書ファイルを検索するにはちょっと違和感があり、スキーマレスを触ってみました。スキーマレスとハイライトについての設定方法を今回備忘録的に残します。正しい設定方法か分かりませんが今後の検討用にします。
Solr8.1.1を解凍したフォルダを$SOLR_HOMEで表します。
スキーマレスで起動
$SOLR_HOME>bin\solr.cmd start -e schemaless
Creating Solr home directory $SOLR_HOME\example\schemaless\solr
Starting up Solr on port 8983 using command:
"$SOLR_HOME\bin\solr.cmd" start -p 8983 -s "$SOLR_HOME\example\schemaless\solr"
Waiting up to 30 to see Solr running on port 8983
Started Solr server on port 8983. Happy searching!
Created new core 'gettingstarted'
Solr schemaless example launched successfully. Direct your Web browser to http://localhost:8983/solr to visit the Solr Admin UI
「solrconfig.xml」を変更するため、Solrを停止する
$SOLR_HOME>bin\solr.cmd stop -all
Stopping Solr process 10112 running on port 8983
$SOLR_HOME\example\schemaless\solr\gettingstarted\conf\solrconfig.xml
を編集
現在のrequestHandlerを削除
<削除する箇所>
<requestHandler name="/update/extract"
startup="lazy"
class="solr.extraction.ExtractingRequestHandler" >
<lst name="defaults">
<str name="lowernames">true</str>
<str name="fmap.content">_text_</str>
</lst>
</requestHandler>
下記内容を追記
<requestHandler name="/update/extract"
startup="lazy"
class="solr.extraction.ExtractingRequestHandler" >
<lst name="defaults">
<str name="xpath">/xhtml:html/xhtml:body/descendant:node()</str>
<str name="capture">content</str>
<str name="fmap.meta">attr_meta_</str>
<str name="uprefix">attr_</str>
<str name="lowernames">true</str>
</lst>
</requestHandler>
Solrを再起動
$SOLR_HOME>bin\solr.cmd start -e schemaless
Solr home directory $SOLR_HOME\example\schemaless\solr already exists.
Starting up Solr on port 8983 using command:
"$SOLR_HOME\bin\solr.cmd" start -p 8983 -s "$SOLR_HOME\example\schemaless\solr"
Waiting up to 30 to see Solr running on port 8983
Started Solr server on port 8983. Happy searching!
WARNING: Core 'gettingstarted' already exists!
Checked core existence using Core API command:
http://localhost:8983/solr/admin/cores?action=STATUS&core=gettingstarted
Solr schemaless example launched successfully. Direct your Web browser to http://localhost:8983/solr to visit the Solr Admin UI
文書ファイルの取込み
$SOLR_HOME>java -jar -Dc=gettingstarted -Dauto example\exampledocs\post.jar C:\Users\Documents\*.pdf
※文書ファイルは、環境に合わせて適宜読み替えます。
ハイライト付きでクエリーしてみる
Solrの管理画面を開きhttp://localhost:8983/solr/gettingstarted/select?fl=id&hl.fl=attr_content&hl=on&q=attr_content%3Asolr
とすると、想定したレスポンスが表示された。
ポイントは、クエリー対象のフィールドを「attr_content」に、ハイライトのフィールドを「attr_content」に設定すること。