LoginSignup
1
0

More than 3 years have passed since last update.

Apache Solr スキーマレスとハイライト

Posted at

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」に設定すること。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0