Brauche Hilfe Indizierung von XML-Dateien in Solr mit DataImportHandler
Ich weiß nicht java, ich weiß nicht, XML, und ich weiß nicht, Lucene. Nun, das ist aus dem Weg. Ich habe gearbeitet, um zu erstellen ein kleines Projekt mit apache solr/lucene. Mein problem ist, dass ich bin nicht in der Lage-index der xml-Dateien. Ich denke, dass ich verstehen, wie die funktionieren soll, aber ich könnte falsch sein. Ich bin nicht sicher, was information ist notwendig für Sie, mir zu helfen, also werde ich nur nach dem code.
<dataConfig>
<dataSource type="FileDataSource" encoding="UTF-8" />
<document>
<!-- This first entity block will read all xml files in baseDir and feed it into the second entity block for handling. -->
<entity name="AMMFdir" rootEntity="false" dataSource="null"
processor="FileListEntityProcessor"
fileName="^*\.xml$" recursive="true"
baseDir="C:\Documents and Settings\saperez\Desktop\Tomcat\apache-tomcat-7.0.23\webapps\solr\data\AMMF_New"
>
<entity
processor="XPathEntityProcessor"
name="AMMF"
pk="AcquirerBID"
datasource="AMMFdir"
url="${AMMFdir.fileAbsolutePath}"
forEach="/AMMF/Merchants/Merchant/"
transformer="DateFormatTransformer, RegexTransformer"
>
<field column="AcquirerBID" xpath="/AMMF/Merchants/Merchant/AcquirerBID" />
<field column="AcquirerName" xpath="/AMMF/Merchants/Merchant/AcquirerName" />
<field column="AcquirerMerchantID" xpath="/AMMF/Merchants/Merchant/AcquirerMerchantID" />
</entity>
</entity>
</document>
Beispiel-xml-Datei
<?xml version="1.0" encoding="utf-8"?>
<AMMF xmlns="http://tempuri.org/XMLSchema.xsd" Version="11.2" CreateDate="2011-11-07T17:05:14" ProcessorBINCIB="422443" ProcessorName="WorldPay" FileSequence="18">
<Merchants Count="153">
<Merchant ChangeIndicator="A" LocationCountry="840">
<AcquirerBID>10029881</AcquirerBID>
<AcquirerName>WorldPay</AcquirerName>
<AcquirerMerchantID>*</AcquirerMerchantID>
<Merchant ChangeIndicator="A" LocationCountry="840">
<AcquirerBID>10029882</AcquirerBID>
<AcquirerName>WorldPay2</AcquirerName>
<AcquirerMerchantID>Hello World!</AcquirerMerchantID>
</Merchant>
</Merchants>
Habe ich diese in der schema.
<field name="AcquirerBID" type="string" indexed="true" stored="true" required="true" />
<field name="AcquirerName" type="string" indexed="true" stored="true" />
<field name="AcquirerMerchantID" type="string" indexed="true" stored="true"/>
Habe ich diese in der config.
<requestHandler name="/dataimport" class="org.apache.solr.handler.dataimport.DataImportHandler" default="true" > <lst name="defaults"> <str name="config">AMMFconfig.xml</str> </lst> </requestHandler>
InformationsquelleAutor Samuel Pérez | 2012-01-13
Du musst angemeldet sein, um einen Kommentar abzugeben.
Das Beispiel-XML ist nicht wohlgeformt. Das könnte auch erklären, Fehler Indizierung der Dateien:
Korrigiert XML
Hier ist, was ich denke, dass Ihre Beispieldaten Aussehen sollte (nicht überprüfen die XSD-Datei)
Alternative Lösung
Ich weiß, du hast gesagt, du bist kein Programmierer, aber diese Aufgabe ist deutlich einfacher, wenn Sie die solrj - Schnittstelle.
Folgende ist ein groovy Beispiel die Indizes Ihre Beispiel-XML -
Groovy ist eine Java-scripting-Sprache, die nicht erfordert die Kompilierung. Es wäre genauso leicht zu pflegen wie ein DIH config-Datei.
InformationsquelleAutor Mark O'Connor
Oft das beste, was zu tun ist, NICHT die Nutzung der DIH. Wie schwer wäre es zu einfach, diese Daten mit Hilfe der API und ein benutzerdefiniertes Skript in einer Sprache, die Sie kennen?
Der Vorteil dieses Ansatzes ist zwei-Fach:
Der Nachteil ist, dass man das Rad neu erfinden möchte ein bisschen, aber die DIH ist schon eine Sache, zu verstehen.
Ich würde sagen, die Codierung ist eine Voraussetzung für Solr. Ich kann mir nicht vorstellen, Sie werden in der Lage sein zu tun eine ganze Menge, ohne mindestens eine Sprache in Ihrem toolkit.
InformationsquelleAutor mlissner
Herausfinden, wie DIH XML-import funktioniert, ich schlage vor, Sie zunächst sorgfältig Lesen Sie dieses Kapitel, in DIH wiki: http://wiki.apache.org/solr/DataImportHandler#HttpDataSource_Example.
Öffnen Sie den Slashdot-link http://rss.slashdot.org/Slashdot/slashdot in Ihrem browser, klicken Sie dann rechts auf die Seite und "Quelltext Anzeigen" auswählen. Es gibt die XML-Datei in diesem Beispiel verwendet.
Vergleichen Sie es mit XPathEntityProcessor Konfiguration in DIH Beispiel und du wirst sehen wie einfach es ist, importieren Sie beliebige XML-Datei in Solr.
Wenn du mehr Hilfe benötigen, Fragen Sie einfach...
InformationsquelleAutor Marko Bonaci