Hi and thanks for your reply.

I think there is no need to define a document with a (email, destination) tuple so maybe I can try to set up two jobs.

One job for the details of each mail and a second job for the recipients of each mail.

Regards
Victor


-------- Message original --------
*Sujet: *Re: Does manifoldcf supports sub entities/queries ?
*De : *Karl Wright <[email protected]>
*Pour : *[email protected] <[email protected]>
*Date : *24/03/2016 13:43
Hi Victor,

It looks like you are setting up your Solr DIH to define an individual document as being defined by a unique (email, destination) tuple?

If this is correct, some comments.

First, ManifoldCF only ever indexes a single document at a time. It never indexes pieces of documents. I don't believe that Solr has that capacity either. So everything depends on your definition of a document is.

Second, you would want to use the MCF JDBC connector. The JDBC connector is relatively primitive and uses a flat model. This requires you to construct queries so that you define a document "ID", which in this case would consist of the email ID PLUS the destination, plus whatever data is required by the query. Obviously you'd need a join in your seeding query to produce the proper set of IDs in question. In fact, ALL of your queries will have to have a join in them in order to produce the information for the email + destination ID. Because the JDBC connector is this simple, you may find that your underlying schema is a poor match for the queries that would be necessary to plug into the JDBC connector and cannot support the needed indexes. In this case you can either modify your schema, use a view, or write a custom connector that does more precisely what you need.

Hope this helps,
Karl


2016-03-24 7:56 GMT-04:00 Victor D'agostino <[email protected] <mailto:[email protected]>>:

    Hi guys

    I'm testing manifoldcf 1.10 to crawl data from a postgresql
    database to a solr cloud ensemble.
    My database is used to store emails. For each email there is a
    details table entry and one or several recipients entry in an
    other table.

    I need help setting the data query in my crawling job.

    How can i avoid crawling the details each time there is a recipient ?
    In Solr DIH it's called a subentities :

    <dataSource type="JdbcDataSource" driver="org.postgresql.Driver"
    [...]"/>
        <document>
            <entity name="mail"
            query="SELECT email_id, [...] emetteur_budget FROM
    email_details WHERE [ ...]
              <field column="email_id" name="mail_id" />
                [...]
                <field column="emetteur_budget" name="emetteur_budget" />

                <entity name="destinataires"
                query="select utilisateur_id, adresse_email, [...]
    where email_id='${mail.email_id}' and date='${mail.date}'">
                    <field column="utilisateur_id"
    name="destinataire_ids" />
                    <field column="adresse_email"
    name="destinataire_mails" />
                    [...]
                </entity>

            </entity>
        </document>


    Does manifoldcf supports subentities ?

    Regards
    Victor


    
    ________________
    Ce message et les éventuels documents joints peuvent contenir des
    informations confidentielles. Au cas où il ne vous serait pas
    destiné, nous vous remercions de bien vouloir le supprimer et en
    aviser immédiatement l'expéditeur. Toute utilisation de ce message
    non conforme à sa destination, toute diffusion ou publication,
    totale ou partielle et quel qu'en soit le moyen est formellement
    interdite. Les communications sur internet n'étant pas sécurisées,
    l'intégrité de ce message n'est pas assurée et la société
émettrice ne peut être tenue pour responsable de son contenu.




________________
Ce message et les éventuels documents joints peuvent contenir des informations 
confidentielles. Au cas où il ne vous serait pas destiné, nous vous remercions 
de bien vouloir le supprimer et en aviser immédiatement l'expéditeur. Toute 
utilisation de ce message non conforme à sa destination, toute diffusion ou 
publication, totale ou partielle et quel qu'en soit le moyen est formellement 
interdite. Les communications sur internet n'étant pas sécurisées, l'intégrité 
de ce message n'est pas assurée et la société émettrice ne peut être tenue pour 
responsable de son contenu. 

Reply via email to