3

次のようなドキュメントがあるとします。

<arr name="pvt_rate_type">
  <str>CORPORATE</str>
  <str>AGENCY</str>
</arr>

<arr name="pvt_rate_set_id">
  <str>1</str>
  <str>2</str>
</arr>

ここで、複数値フィールドの同じ位置に pvt_rate_set_id = 1 AND pvt_rate_type = AGENCY が​​含まれている場合にのみドキュメントを返したい検索を行うため、上記のドキュメントは返されません (pvt_rate_set_id 1 の pvt_rate_type が CORPORATE であるため) )

これは SOLR でまったく可能ですか? または、私のスキーマが正しく設計されていませんか? 私が望む検索を可能にするために、他にどのように tat スキーマを設計しますか?

4

2 に答える 2

1

これはすぐには利用できない場合があります。
フィールド名として pvt レート タイプ、値として id を持つフィールドを持つようにスキーマを変更する必要があります。

例えば

CORPORATE=1
AGENCY=2

これは、動的フィールドを定義することで実現できます。

例えば

<dynamicField name="*_pvt_rate_type"  type="string"  indexed="true"  stored="true"/>

したがって、それぞれの値を使用して、corporate_pvt_rate_type または Agency_pvt_rate_type としてデータを入力できます。

フィルター クエリは、正確なマッピングと一致することができます。fq=corporate_pvt_rate_type:1

于 2013-02-28T04:05:23.463 に答える
0

残念ながら、Solr はこれをサポートしていないようです。

Solr でこれを行う別の方法は、連結された文字列フィールドtype_and_idを、次のように型と ID とクエリを区切る区切り文字 (カンマなど) で格納することです。

q=type_and_id:AGENCY%2C1

(%2Cはコンマの URL エンコードです)。

于 2013-02-28T05:31:43.143 に答える