intra-mart Accel Platform 設定ファイルリファレンス 第26版 2020-08-01

検索フィールド設定

概要

IM-ContentsSearch が利用するSolrサーバのフィールドを設定します。

注意

フィールド設定はAPIの実装と密接に連携しているため、基本的に設定値は変更しないでください。
例外として、以下の3つの設定については利用用途に応じた設定値に変更することを推奨します。
  • <field-mapping name=”TITLE”><field> タグ
  • <field-mapping name=”TEXT”><field> タグ
  • <field-mapping name=”ATTACHMENT”><field> タグ
モジュール IM-ContentsSearch コアライブラリ
フォーマットファイル(xsd) WEB-INF/schema/solr-field-config.xsd
設定場所 WEB-INF/conf/solr-field-config.xml

<?xml version="1.0" encoding="UTF-8"?>
<solr-field-config
   xmlns="http://intra-mart.co.jp/system/solr/config/solr-field-config"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation="http://intra-mart.co.jp/system/solr/config/solr-field-config ../schema/solr-field-config.xsd ">

  <search-fields>
    <field boost="2.0">TITLE</field>
    <field boost="1.0">TEXT</field>
    <field boost="1.0">ATTACHMENT</field>
  </search-fields>

  <field-mappings>

    <!-- for output only -->
    <field-mapping name="ALL">
      <field>*</field>
    </field-mapping>

    <!-- basic fields -->
    <field-mapping name="ID">
      <field>id</field>
    </field-mapping>

    <field-mapping name="TYPE">
      <field>type</field>
    </field-mapping>

    <field-mapping name="ID_ORIGINAL">
      <field>id_original</field>
    </field-mapping>

    <field-mapping name="TITLE">
      <field>title_morph</field>
      <!--
      <field>title_ngram</field>
      <field>title_ws</field>
      -->
    </field-mapping>

    <field-mapping name="URL">
      <field>url</field>
    </field-mapping>

    <field-mapping name="RECORD_DATE">
      <field>record_date</field>
    </field-mapping>

    <field-mapping name="TEXT">
      <field>text_morph</field>
      <!--
      <field>text_ngram</field>
      <field>text_ws</field>
      -->
    </field-mapping>

    <field-mapping name="ATTACHMENT">
      <field>attachment_morph</field>
      <!--
      <field>attachment_ngram</field>
      <field>attachment_ws</field>
      -->
    </field-mapping>

    <!-- dynamic fields -->
    <field-mapping name="STRING" dynamic="true">
      <field>*_string</field>
    </field-mapping>

    <field-mapping name="INT" dynamic="true">
      <field>*_integer</field>
    </field-mapping>

    <field-mapping name="LONG" dynamic="true">
      <field>*_long</field>
    </field-mapping>

    <field-mapping name="DATE" dynamic="true">
      <field>*_date</field>
    </field-mapping>

    <field-mapping name="BOOLEAN" dynamic="true">
      <field>*_boolean</field>
    </field-mapping>

    <field-mapping name="NGRAM" dynamic="true">
      <field>*_ngram</field>
    </field-mapping>

    <field-mapping name="MORPH" dynamic="true">
      <field>*_morph</field>
    </field-mapping>

    <field-mapping name="WHITESPACE" dynamic="true">
      <field>*_ws</field>
    </field-mapping>

    <field-mapping name="STRING_MLT" dynamic="true">
      <field>*_string_mlt</field>
    </field-mapping>

    <field-mapping name="INT_MLT" dynamic="true">
      <field>*_integer_mlt</field>
    </field-mapping>

    <field-mapping name="LONG_MLT" dynamic="true">
      <field>*_long_mlt</field>
    </field-mapping>

    <field-mapping name="DATE_MLT" dynamic="true">
      <field>*_date_mlt</field>
    </field-mapping>

    <field-mapping name="BOOLEAN_MLT" dynamic="true">
      <field>*_boolean_mlt</field>
    </field-mapping>

    <field-mapping name="NGRAM_MLT" dynamic="true">
      <field>*_ngram_mlt</field>
    </field-mapping>

    <field-mapping name="MORPH_MLT" dynamic="true">
      <field>*_morph_mlt</field>
    </field-mapping>

    <field-mapping name="WHITESPACE_MLT" dynamic="true">
      <field>*_ws_mlt</field>
    </field-mapping>

  </field-mappings>

</solr-field-config>

リファレンス

検索対象フィールド一覧の設定

タグ名 search-fields
フィールド未指定の検索処理において、検索対象となるフィールドを設定します。
フィールドの設定は配下の field タグで行います。

【設定項目】

<solr-field-config>
  <search-fields>
    ....
  </search-fields>
</solr-field-config>

必須項目
複数設定 ×
親タグ solr-field-config

検索対象フィールドの設定

タグ名 field
フィールド未指定の検索処理において、検索対象となるフィールドを設定します。
boost属性を記述することで、該当のフィールドにキーワードが一致した場合の重要度を指定可能です。

【設定項目】

<solr-field-config>
  <search-fields>
    <field boost="2.0">TITLE</field>
    ...
  </search-fields>
  ...
</solr-field-config>

必須項目
複数設定
設定値・設定する内容 <field-mapping> タグにて設定されている名称(name属性)の値
親タグ search-fields

【属性】

属性名 説明 必須 デフォルト値
boost
重要度が高いキーワードを持つコンテンツ(索引)ほど、
検索結果においてより上位として返却されます。
× 1.0

フィールドマッピング一覧の設定

タグ名 field-mappings
APIに定義されているフィールド定義とSolrサーバのフィールド名のマッピング設定を定義します。
詳細なマッピングの設定は配下のタグで行います。

【設定項目】

<solr-field-config>
  ...
  <field-mappings>
    ...
  </field-mappings>
</solr-field-config>

必須項目
複数設定 ×
親タグ solr-field-config

フィールドマッピングの設定

タグ名 field-mapping
APIから参照するマッピングのフィールド定義名および、それに対応するSolrサーバのフィールド名を指定します。
Solrサーバのフィールド名の設定は配下のタグで行います。

【設定項目】

<solr-field-config>
  ...
  <field-mappings>
    ...
    <field-mapping name="ID">
      ...
    </field-mapping>
    ...
  </field-mappings>
</solr-field-config>

必須項目
複数設定
親タグ field-mappings

【属性】

属性名 説明 必須 デフォルト値
name APIから参照するフィールド定義名です。 なし
dynamic 動的フィールドの場合は true を設定します。 × false

フィールドの設定

タグ名 field
マッピングするSolrサーバのフィールド名を指定します。

【設定項目】

<solr-field-config>
  ...
  <field-mappings>
    ...
    <field-mapping name="ID">
      <field>id</field>
    </field-mapping>
    ...
  </field-mappings>
</solr-field-config>

必須項目
複数設定
親タグ field-mapping