私はSolrが初めてで、IDフィールドを含まないXMLデータをインポートするのに苦労しています.
XML の例:
<results>
<estacions>
<estacio id="72400" nom="Aeroport"/>
<estacio id="79600" nom="Arenys de Mar"/>
...
</estacions>
</results>
スキーマ.xml:
<uniqueKey>id</uniqueKey>
この時点で、この xml を http fetch からインポートする必要があり、DataimportHandler を使用します。これは私のdata-config.xmlです
<dataConfig>
<dataSource type="URLDataSource" />
<document>
<entity name="renfe"
url="http://host_url/myexample.xml"
processor="XPathEntityProcessor"
forEach="/results/estacions/estacio"
transformer="script:generateCustomId">
<field column="idestacio" xpath="/results/estacions/estacio/@id" commonField="true" />
<field column="nomestacio" xpath="/results/estacions/estacio/@nom" commonField="true" />
</entity>
</document>
その後、正常に動作しているようですが、次のエラーが発生しました: org.apache.solr.common.SolrException: [doc=null] missing required field: id
これにより、インポート中にdata-config.xmlを使用して自動IDを生成する必要があると思いますが、その方法を確認することはできません。
どうすればいいですか?ScriptTransformer を使用していますか? どんなアイデアでも感謝します
もう 1 つの質問: インポート中に値を強制できますか?
例:(<field column="site" value="estacions"/>
明らかにこれは機能しません)