FAQ

Q.multiValuedとはなんですか?

A.

Apache Solrのmanaged-schema.xmlにおいて、フィールド型やフィールド定義に指定できる属性です。デフォルトはmultiValued="false"であり、当該フィールドが値を一つのみ保持できることを示します。

具体例で説明しましょう。ECサイトにおける商品検索のスキーマ設計を考えます。商品検索なので、検索エンジンにおいては、商品1点が1つの検索対象文書になります。この商品文書には商品名や価格などのフィールド以外に、以下のようなフィールドがあるとします。

  • カテゴリーフィールド。商品は1つのカテゴリーに属する。
  • タグフィールド。ユーザーは商品に自分なりのタグを付与できる。

たとえば商品として「ポストイット(付箋)」を考えます。この商品は「文房具」カテゴリーに属します。また、ユーザーはこの商品に「#使いやすい」「#カラフル」「#かわいい」など思い思いのタグを付与します。

このように考えると、カテゴリーフィールドは値が一つですが、タグフィールドは値が複数なのでmultiValued="true"と設定するようになるでしょう。

<field name="category" type="string" indexed="true" stored="true"/>
<field name="tags" type="string" indexed="true" stored="true" multiValued="true"/>

お見積もり・詳細は KandaSearch チームに
お気軽にお問い合わせください。

お問い合わせ