Question

J'ai 700 000 noms de rues, 8 111 noms de communes et 80 333 codes postaux de localités.Je voudrais indexer toutes ces informations dans solr.L'utilisateur souhaite rechercher ces informations via un formulaire de saisie semi-automatique ajax.Je l'ai prouvé avec peu de données et le comportement du formulaire de saisie semi-automatique ajax est ok.

 <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>

Le problème se produit lors du chargement de toutes les données dans Solr

  • Comment dois-je charger les informations sur le serveur Solr (je suis dans une application Grails et je dois charger des instances contenant les informations sans gestionnaire de saisie de données) Aujourd'hui, j'ai passé plusieurs heures aujourd'hui pour le faire et finalement la console Grails s'est écrasée :( --> devrais-je utiliser un script Grails au lieu de créer un service et de l'exécuter avec la console Grails ??
  • Ou dois-je utiliser un gestionnaire de saisie de données pour le charger plus rapidement ??Puis-je concaténer les valeurs de chaîne de différentes colonnes de différentes tables avec un gestionnaire de saisie de données ?

(C'est bien d'avoir un document différent pour chacun (700.000 + 8111 + 80.333 documents) ??)

Merci pour votre temps

Était-ce utile?

La solution

Je suppose que vos communes, noms de rues et codes postaux sont censés être renseignés automatiquement séparément.Dans ce cas, vous utiliseriez un noyau solr pour chacun.

Ou dois-je utiliser un gestionnaire de saisie de données pour le charger plus rapidement ??

DIH sera assez rapide, et tant que ces informations ne changent pas très souvent, cela devrait être possible de procéder de cette façon.

Puis-je concaténer les valeurs de chaîne de différentes colonnes de différentes tables avec un gestionnaire de saisie de données ?

Oui;dans data-config.xml vous donnez des précisions SQL requête et peut utiliser la concaténation native de la base de données (par ex. || dans Oracle).

Autres conseils

Sérieusement, écrivez un script shell et utilisez CURL pour envoyer les mises à jour à SOLR.

Vous essayez de tirer des canettes sur le mur avec un canon monté sur un navire flottant dans votre piscine. Vous n'avez pas besoin d'un canon ou d'un navire ou d'une piscine. Il suffit de rester là-bas avec un pistolet à air et de faire apparaître les mises à jour d'une à une à une jusqu'à ce qu'elle soit terminée.

Pour un script de coquille d'examens complet avec échantillon de mises à jour SOLR, téléchargez le binaire SOLR, Apache-SolR-3.5.0.tgz ou Apache-SolR-3.5.0.zip d'un miroir près de chez vous. Trouver le miroir à http://lucène.apache.org/solr/downloads.html

Déballez l'archive, entrez dans le répertoire d'exemple et suivez ces instructions. http://lucène.apache.org/solr/Tutorial.html

Si vous êtes sur Unix, utilisez simplement Post.Sh.

D'ailleurs, cochez la version SOLR que vous avez installée sur votre serveur. Si ce n'est pas 3.50, alors pourquoi utilisez-vous une ancienne version lorsque vous en avez le plus récent ici, en ce moment?

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top