2017-03-28 1 views
0

utilise actuellement DIH pour extraire des données du serveur MSSQL à SOLR. Où suis-je en utilisant dataimporter.last_index_time pour tirer les enregistrements qui sont dans la base de données seulement après last_index_time. Donc, j'explorais s'il y a une autre option pour DIH à utiliser au lieu d'utiliser last_index_time peut être quelque chose comme last_pk_id. Une telle option est-elle disponible? quelqu'un pourrait-il me le faire savoir?DIH dans SOLR basé sur la clé primaire d'une table

+0

Mieux vaut s'en tenir à 'dataimporter.last_index_time' comme rien ne peut être plus précis dans la détermination des données. –

+0

Problème est parfois en raison de la différence de secondes entre la base de données et les serveurs SOLR peu de documents sont manqués. –

+0

Cela pourrait aider - http://lucene.472066.n3.nabble.com/dih-last-index-time-exacty-what-time-is-this-capturing-td499851.html http: // stackoverflow. com/questions/18570742/solr-delta-importation-gestionnaire-timestamp-non-spécifique-assez –

Répondre

1

non fourni par Solr lui-même.

Mais rien ne vous empêche de faire ceci:

  1. définir votre sql pour le DIH delta comme ceci: OU (last_pk_id> '$ {} dataimporter.request.LAST_PK_ID')
  2. lorsque vous exécutez une indexation, magasin, en dehors Solr, la valeur last_pk_id vous indexé, disons 333.
  3. prochaine fois que vous devez index delta, ajoutez à votre demande ... & propre = false & lAST_PK_ID = 333
  4. stocker votre nouveau LAST_PK_ID (vous pouvez interroger solr pour cela)