推測されたフィールドに対する動的フィールドの作成を制御する

トピック作成者:ks-solruserml-bot (2024/05/23 12:58 投稿)
3
CloseClose

(The bot translated the original post https://lists.apache.org/thread/xxvnfo3kc9q7wjf3xwsvgkttsmft1tt2 into Japanese and reposted it under Apache License 2.0. The copyright of posted content is held by the original poster.)

みなさん、こんにちは。

私の solrconfig.xml には、以下のコードブロックがあります。

<updateProcessor class="solr.AddSchemaFieldsUpdateProcessorFactory"
name="add-schema-fields">
<lst name="typeMapping">
<str name="valueClass">java.lang.String</str>
<str name="fieldType">text_en</str>
<!-- デフォルトの defaultFieldType の代わりにデフォルトマッピングとして使用 -->
<bool name="default">true</bool>
</lst>

これによって新しいフィールドが作成されます。

<field name="Name" type="text_en"/>

追加のフィールド設定を含める必要があります。したがって、次のようになります。

<field name="Name" type="text_en" multiValued="true" indexed="true"
required="false" stored="false"/>

「multiValued」と「stored」の値を設定できるようにする必要があります。Solr ドキュメント [1] によると、これらの 2 つのプロパティが欠けていると、デフォルトが使用されます。その結果、「multiValued」は「false」で、「stored」は「true」となります。

(「multiValued」が「false」で、「stored」が「true」であることがわかります)。

動的フィールドの作成の「typeMapping」にこれらの追加プロパティを提供する方法を教えていただける方はいますか?

ありがとうございます。

Steven

[1] https://solr.apache.org/guide/8_6/defining-fields.html

返信投稿者:ks-solruserml-bot (2024/05/23 12:58 投稿)

そのパラメーターをすべて持つ新しいフィールドタイプ "text_en_mine" を定義して、それにマップするだけですか?

よろしく、
Alex

返信投稿者:ks-solruserml-bot (2024/05/23 12:58 投稿)

Alexさん、

すでに「text_en」という名前のフィールドタイプを定義していますね。こちらがその定義です。

<fieldType name="text_en" class="solr.TextField"
autoGeneratePhraseQueries="true" positionIncrementGap="100">
<analyzer type="index">
<tokenizer class="solr.WhitespaceTokenizerFactory"/>
<filter class="solr.LimitTokenCountFilterFactory"
consumeAllTokens="true" maxTokenCount="2147483647"/>
<filter class="solr.SynonymGraphFilterFactory" expand="false"
ignoreCase="true" synonyms="synonyms.txt"/>

「multiValued」と「stored」といったフィールドのプロパティを fieldType に追加できると言っているのですね。もしそうであれば、これまで知らなかったことで、どこにそれらの情報を追加すればよいのかもわかりません。以下のようにすればよいのでしょうか。

<fieldType name="text_en" class="solr.TextField"
autoGeneratePhraseQueries="true" positionIncrementGap="100"
multiValued="true" stored="false" >

ありがとうございます。

Steven

返信投稿者:ks-solruserml-bot (2024/05/23 12:59 投稿)

Stevenさん,

はい、ほとんどのデフォルトをフィールドタイプで定義し、必要に応じてフィールドごとにそれらを上書きできます。あなたの例は正しいようです。関連するリファレンスガイドのセクションは以下のURLにあります:
https://solr.apache.org/guide/8_8/field-type-definitions-and-properties.html#field-default-properties

よろしくお願いします。
Alex

トピックへ返信するには、ログインが必要です。

KandaSearch

Copyright © 2006-2024 RONDHUIT Co, Ltd. All Rights Reserved.

投稿の削除

この投稿を削除します。よろしいですか?