4

私のSolrバージョンは4.0です。製品用のコアと、これらの製品の可用性レコード用のコア備え
たマルチコア環境があります。製品コアには詳細な説明が含まれ、約10,000のダウメントがあります。アベイラビリティコアには、最大400万のドキュメントが含まれています。

私は小さなテストセットを作成し、join構文を使用して結果を取得しようとしています。これは、「ディズニー」を含む製品のすべての可用性を見つけることを目的としています。

http://localhost:8080/solr/product/select?q={!join%20from=productid%20to=id%20fromindex=availp}disney&fl=*

結果はゼロです。
各コアに対する個別のクエリは結果をもたらします。
質問
1。結果を取得するためにクエリを作成する方法
2.特定の日付をフィルタリングするためにクエリを調整する場合、構文はどうなりますか。
例:?fq = period: "2012年11月"AND国:フランス

国は製品インデックスからのフィールドであり、期間はその時点で利用可能なインデックスからのフィールドです。

個々のクエリの結果:製品コア

<response>
<lst name="responseHeader">
  <int name="status">0</int>
  <int name="QTime">1</int>
  <lst name="params">
    <str name="fl">id,productname</str>
    <str name="indent">1</str>
    <str name="q">disney</str>
    <str name="rows">1</str>
  </lst>
</lst>
<result name="response" numFound="31" start="0">
<doc>
    <str name="productname">DPAZ00 DPAZ00-02 DPAZ0002 Disneyland Parijs Hotel Disney's Santa Fe</str>
    <str name="id">44044</str></doc>
</result>
</response>

他のコア:availp

<response>
<lst name="responseHeader">
  <int name="status">0</int>
  <int name="QTime">0</int>
  <lst name="params">
    <str name="fl">*</str>
    <str name="indent">1</str>
    <str name="q">productid:44044</str>
    <str name="rows">1</str>
  </lst>
</lst>
<result name="response" numFound="42" start="0">
  <doc>
    <date name="datefrom">2012-10-01T10:00:00Z</date>
    <arr name="period">
      <str>oktober 2012</str>
    </arr>
    <str name="productid">44044</str>
    <double name="minpriceperperson">209.0</double>
    <int name="durationcode">1</int>
    <str name="id">3890</str>
    <int name="budgetcode">2</int>
</result>
</response>
4

3 に答える 3

2

1) 在庫コアをクエリする必要があります (製品を内部インデックスとして)。クエリは次のようになります http:// localhost:8080/solr/product/select?q=*& fl={!join from=id to=id fromIndex=availp}productname:disney

2) 上記と同じクエリ構文を使用できます。http:// localhost:8080/solr/product/select?q=period:november&fl={!join from=id to=id fromIndex=availp}productname:disney AND country:France 不要な場合は、上記から productname を削除できます。

于 2014-07-08T17:56:33.723 に答える
1

Have you tried by changing the fromindex to fromIndex (uppercase I)?

于 2013-01-22T04:13:44.940 に答える
1

Adventures with Solr Joinによると、クエリは次のようになります。

http://localhost:8983/solr/parents/select?q=alive:yes AND _query_:"{!join fromIndex=children from=fatherid to=parentid v='childname:Tom'}"

動作するはずです

于 2014-06-20T03:18:39.783 に答える