سؤال

أحاول استخدام Solr DataImporthandler لتغذية البيانات. كان التكوين بسيطًا ومباشرًا وكان كل شيء على ما يرام ، عندما كنت أستورد حقلًا واحدًا فقط من كيان الجذر.

لكن عندما حاولت استيراد الحقول من الكيانات المتداخلة ، فإنها لا تعمل وأنا في حيرة ومتعلقة حقًا.

هنا هو المقتطف ذو الصلة من DataConfig الخاص بي:

<dataConfig>
    <dataSource ... />
    <document>
        <entity name="a" query="select id, b_id from a" pk="id">
               <entity name="b" query="select title from b where id ='${a.b_id}'">
                   <field column="title" name="title" />
               </entity>
        </entity>
    </document>
</dataConfig>

عندما أحاول تصحيح الاستيراد باستخدام وحدة التحكم في تطوير DIH مع تشغيل المطوّل ، يمكنني رؤية شيء مثل:

...
<lst name="document#3">
<str>----------- row #1-------------</str>
<str name="ID">PST_210-SI.10             </str>
<str name="B_ID">6c2r3490seeqvb86pgb4c4trf9</str>
<str>---------------------------------------------</str>
−
<lst name="entity:b">
<str name="query">select title from b where id =''</str>
<str name="query">select title from b where id =''</str>
<str name="query">select title from b where id =''</str>
<str name="time-taken">0:0:0.1</str>
<str name="time-taken">0:0:0.1</str>
<str name="time-taken">0:0:0.1</str>
</lst>
</lst>

أعتقد أن النقطة المثيرة للاهتمام هي الاستعلامات الثلاثة في الكيان ب, ، حيث يكون حقل الهوية فارغًا. يبدو لي ، مثل $ {A.B_ID} لم يتم تقييمه ، لكن لا يمكنني معرفة السبب.

هل يمكن لأي شخص أن يساعد ، من فضلك؟ شكرا مقدما.

هل كانت مفيدة؟

المحلول

ها ، كالمعتاد - بعد قضاء فترة ما بعد الظهيرة بالكامل في محاولة لمعرفة الحل ، عندما نفاد كل الأفكار وأطرح المجتمع على سؤال .. أجد فجأة الحل بنفسي :)

كان المصيد حساسية حالة - إذا نظرت بشكل صحيح على إخراج XML المطوّل ، فهناك لسبب ما . لذلك حاولت استخدام التعبير $ {A.B_ID} ويعمل!

ربما يمكن أن تكون الحالة العليا محددة فقط لسائق Oracle JDBC.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top