Frage

Ich habe 700.000 Straßennamen, 8111 Gemeindenamen und 80333 Orts-Postleitzahlen.Ich möchte alle diese Informationen in Solr indizieren.Der Benutzer möchte diese Informationen über ein Ajax-Autovervollständigungsformular durchsuchen.Ich habe es mit wenigen Daten bewiesen und das Verhalten des Ajax-Autovervollständigungsformulars ist in Ordnung.

 <fieldType name="text" class="solr.TextField" positionIncrementGap="100">
  <analyzer type="index">
    <tokenizer class="solr.WhitespaceTokenizerFactory"/>
    <filter class="solr.StopFilterFactory"
            ignoreCase="true"
            words="stopwords.txt"
            enablePositionIncrements="true"
            />
    <filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="1" catenateNumbers="1" catenateAll="0" splitOnCaseChange="1"/>
    <filter class="solr.LowerCaseFilterFactory"/>
    <filter class="solr.SnowballPorterFilterFactory" language="English" protected="protwords.txt"/>
  </analyzer>
  <analyzer type="query">
    <tokenizer class="solr.WhitespaceTokenizerFactory"/>
    <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/>
    <filter class="solr.StopFilterFactory"
            ignoreCase="true"
            words="stopwords.txt"
            enablePositionIncrements="true"
            />
    <filter class="solr.WordDelimiterFilterFactory" generateWordParts="1" generateNumberParts="1" catenateWords="0" catenateNumbers="0" catenateAll="0" splitOnCaseChange="1"/>
    <filter class="solr.LowerCaseFilterFactory"/>
    <filter class="solr.SnowballPorterFilterFactory" language="English" protected="protwords.txt"/>
  </analyzer>
</fieldType>

Das Problem tritt auf, wenn alle Daten in Solr geladen werden

  • Wie soll ich die Informationen auf den Solr-Server laden (ich bin in einer Grails-App und muss Instanzen laden, die die Informationen ohne Dateneingabe-Handler haben) Heute habe ich viele Stunden dafür gebraucht und schließlich ist die Grails-Konsole abgestürzt :( --> sollte ich ein Grails-Skript verwenden, anstatt einen Dienst zu erstellen und ihn mit der Grails-Konsole auszuführen?
  • Oder sollte ich den Dateneingabehandler verwenden, um ihn schneller zu laden?Kann ich Zeichenfolgenwerte aus verschiedenen Spalten verschiedener Tabellen mit dem Dateneingabe-Handler verknüpfen?

(Es ist in Ordnung, für jedes ein anderes Dokument zu haben (700.000 + 8111 + 80.333 Dokumente) ??)

vielen Dank für Ihre Zeit

War es hilfreich?

Lösung

Ich gehe davon aus, dass Ihre Gemeinden, Straßennamen und Postleitzahlen separat automatisch vervollständigt werden sollen.In diesem Fall würden Sie ein separates verwenden Solr-Kern für jeden.

Oder sollte ich den Dateneingabehandler verwenden, um ihn schneller zu laden?

DIH wird ziemlich schnell sein, und solange sich diese Informationen nicht sehr oft ändern, sollte es in Ordnung sein, es auf diese Weise zu tun.

Kann ich Zeichenfolgenwerte aus verschiedenen Spalten verschiedener Tabellen mit dem Dateneingabe-Handler verknüpfen?

Ja;In data-config.xml Du gibst konkret SQL Abfrage und kann die native Verkettung der Datenbank verwenden (z. B. || im Orakel).

Andere Tipps

Schreiben Sie ernsthaft ein Shell-Skript und verwenden Sie Curl, um die Updates an Solr zu senden.

Sie versuchen, Dosen von der Wand mit einer Kanone mit einer an einem Schiff montierten Schiff aufzunehmen, das in Ihrem Schwimmbad schwimmt. Sie brauchen keine Kanone oder ein Schiff oder einen Pool. Stellen Sie sich einfach mit einer Air-Pistole und pop die Updates von einem nach einem bis zum Fertig.

für ein exemplares Shell-Skript mit Muster-Solr-Updates, laden Sie die Solr-Binärdatei, entweder Apache-Solr-3.5.0.tgz oder Apache-solr-3.5.0.zip aus einem Spiegel in Ihrer Nähe herunter. Finden Sie den Spiegel auf http://lucene.apache.org/solr/downloads.html

Packen Sie das Archiv aus, gehen Sie in das Beispielverzeichnis ein und folgen Sie diesen Anweisungen http://lucene.apache.org/solr/tutorial.html

Wenn Sie sich in Unix befinden, verwenden Sie einfach Post.sh.

Übrigens Überprüfen Sie übrigens die Solr-Version, die Sie auf Ihrem Server installiert haben. Wenn es nicht 3,50 ist, warum verwenden Sie dann eine alte Version, wenn Sie hier noch den neueren Version haben?

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top