source: publico/colab/trunk/solr-conf/data-config.xml @ 6126

Última Alteração nesse arquivo desde 6126 foi 6126, incluída por seocam, 8 anos atrás

Merge com a ultima versao do bitcket: https://bitbucket.org/seocam/atu-colab/src/4ee3ca57614e

File size: 12.4 KB
Linha 
1<dataConfig>
2  <dataSource name="trac"
3              type="JdbcDataSource"
4              driver="org.postgresql.Driver"
5              url="jdbc:postgresql://bdinterlegis.interlegis.leg.br/trac_colab"
6              user="colab" />
7  <dataSource name="colab"
8              type="JdbcDataSource"
9              driver="org.postgresql.Driver"
10              url="jdbc:postgresql://bdinterlegis.interlegis.leg.br/colab"
11              user="colab" />
12
13  <document>
14
15    <entity name="wiki"
16            dataSource="trac"
17            transformer="TemplateTransformer,DateFormatTransformer"
18            query="SELECT
19                     name,
20                     TIMESTAMP 'epoch' + (max(time)/1000000) * INTERVAL '1s' AS modified,
21                     max(version) AS version
22                   FROM wiki GROUP BY name"
23            deltaQuery="
24              SELECT DISTINCT
25                name
26              FROM
27                wiki
28              WHERE
29                time > (EXTRACT(
30                  epoch FROM TIMESTAMP '${dataimporter.wiki.last_index_time}'
31                ) * 1000000)"
32            deltaImportQuery="
33                   SELECT
34                     name,
35                     TIMESTAMP 'epoch' + (max(time)/1000000) * INTERVAL '1s' AS modified,
36                     max(version) AS version
37                   FROM
38                     wiki
39                   WHERE
40                     name = '${dataimporter.delta.id}'
41                   GROUP BY name">
42     
43      <entity name="wiki_creation"
44              dataSource="trac"
45              query="SELECT
46                       author AS Creator,
47                       TIMESTAMP 'epoch' + (time/1000000) * INTERVAL '1s' AS created
48                     FROM
49                       wiki
50                     WHERE
51                       name = '${wiki.name}'
52                       AND version = 1" />
53     
54      <entity name="wiki_collaborators"
55              dataSource="trac"
56              query="SELECT DISTINCT
57                       author AS collaborator
58                     FROM
59                       wiki
60                     WHERE
61                       name = '${wiki.name}'
62                       AND author != ''" />
63     
64      <entity name="content"
65              dataSource="trac"
66              query="SELECT
67                       text AS content
68                     FROM
69                       wiki
70                     WHERE
71                       name = '${wiki.name}'
72                       AND version = '${wiki.version}'" />
73
74      <field column="UID" template="WIKI_${wiki.name}" />
75      <field column="getId" template="${wiki.name}" />
76      <field column="Type" template="wiki" />
77      <field column="Title" template="${wiki.name}" />
78      <field column="created" name="created"
79             dateTimeFormat="yyyy-MM-dd hh:mm:ss"/>
80      <field column="modified" name="modified"
81             dateTimeFormat="yyyy-MM-dd hh:mm:ss"/>
82      <field column="path_string" template="/wiki/${wiki.name}" />
83    </entity>
84
85    <entity name="ticket"
86            dataSource="trac"
87            transformer="TemplateTransformer,DateFormatTransformer"
88            pk="id"
89            deltaQuery="
90              SELECT
91                  id
92                FROM
93                  ticket
94              WHERE
95                time > (EXTRACT(
96                  epoch FROM TIMESTAMP '${dataimporter.ticket.last_index_time}'
97                ) * 1000000)"
98            query="SELECT
99                     id,
100                     summary,
101                     description AS Description,
102                     milestone,
103                     priority,
104                     component,
105                     version,
106                     severity,
107                     reporter,
108                     owner,
109                     status,
110                     TIMESTAMP 'epoch' + (time/1000000)* INTERVAL '1s' AS created,
111                     TIMESTAMP 'epoch' + (changetime/1000000) * INTERVAL '1s' AS modified
112                   FROM
113                     ticket">
114
115      <entity name="ticket_collaborator"
116              dataSource="trac"
117              query="SELECT
118                       reporter AS collaborator
119                     FROM
120                       ticket
121                     WHERE
122                       id = ${ticket.id}
123                     
124                     UNION
125                     
126                     SELECT
127                       owner AS collaborator
128                     FROM
129                       ticket
130                     WHERE
131                       id = ${ticket.id}
132                     
133                     UNION
134                   
135                     SELECT DISTINCT
136                       author AS collaborator
137                     FROM
138                       ticket_change
139                     WHERE
140                       ticket = ${ticket.id}" />
141
142      <entity name="ticket_keywords"
143              dataSource="trac"
144              query="SELECT DISTINCT
145                       REGEXP_SPLIT_TO_TABLE(keywords, ',|\\s') AS keyword
146                     FROM
147                       ticket
148                     WHERE
149                       id = ${ticket.id} AND
150                       keywords != ''" />
151     
152      <entity name="ticket_comments"
153              dataSource="trac"
154              query="SELECT
155                       newvalue AS comment
156                     FROM
157                       ticket_change
158                     WHERE
159                       ticket = ${ticket.id}
160                       AND field = 'comment'" />
161
162      <field column="UID" template="TICKET_${ticket.id}" />
163      <field column="getId" template="${ticket.id}" />
164      <field column="Type" template="ticket" />
165      <field column="path_string" template="/ticket/${ticket.id}" />
166      <field column="Title"
167             template="#${ticket.id} (${ticket.status}) - ${ticket.summary}" />
168      <field column="Creator" template="${ticket.reporter}" />
169      <field column="created" name="created"
170             dateTimeFormat="yyyy-MM-dd hh:mm:ss"/>
171      <field column="modified" name="modified"
172             dateTimeFormat="yyyy-MM-dd hh:mm:ss"/>
173    </entity>
174   
175    <entity name="changeset"
176            dataSource="trac"
177            transformer="TemplateTransformer,DateFormatTransformer"
178            pk="rev"
179            deltaQuery="
180            SELECT
181              rev
182            FROM
183              revision
184            WHERE
185              time > (EXTRACT(
186                epoch FROM TIMESTAMP '${dataimporter.changeset.last_index_time}'
187              ) * 1000000)"
188
189            query="SELECT
190                     rev AS revision,
191                     author AS Creator,
192                     author AS collaborator,
193                     repos.value AS repos_name,
194                     TIMESTAMP 'epoch' + (time/1000000) * INTERVAL '1s' AS created,
195                     TIMESTAMP 'epoch' + (time/1000000) * INTERVAL '1s' AS modified,
196                     message                   
197                   FROM
198                     revision AS rev JOIN
199                     repository AS repos
200                       ON rev.repos = repos.id AND
201                          repos.name = 'name' AND repos.value != ''">
202
203      <field column="UID" template="CHANGESET_${changeset.revision}" />
204      <field column="getId" template="${changeset.revision}" />
205      <field column="Type" template="changeset" />
206      <field column="path_string"
207             template="/changeset/${changeset.revision}/${changeset.repos_name}"
208      />
209      <field column="Title"
210             template="[${changeset.revision}] - ${changeset.message}" />
211      <field column="created" name="created"
212             dateTimeFormat="yyyy-MM-dd hh:mm:ss"/>
213      <field column="modified" name="modified"
214             dateTimeFormat="yyyy-MM-dd hh:mm:ss"/>
215    </entity>
216
217    <entity name="thread"
218            dataSource="colab"
219            transformer="TemplateTransformer,DateFormatTransformer"
220            deltaQuery="
221              SELECT
222                thread_id AS id
223              FROM
224                super_archives_message
225              GROUP BY
226                thread_id
227              HAVING
228                max(received_time) > '${dataimporter.thread.last_index_time}'"
229            deltaImportQuery="SELECT
230                     sam.thread_id AS id,
231                     sat.subject_token AS name,
232                     sat.latest_message_id,
233                     saml.name AS mailinglist,
234                     array_to_string(array_agg(sam.body), ' ') AS content
235                   FROM
236                     super_archives_message AS sam
237                     JOIN super_archives_thread AS sat
238                       ON sat.id = sam.thread_id
239                     JOIN super_archives_mailinglist AS saml
240                       ON sat.mailinglist_id = saml.id
241                   WHERE
242                     sat.id = '${dataimporter.delta.id}'
243                   GROUP BY
244                     sam.thread_id,
245                     sat.subject_token,
246                     sat.latest_message_id,
247                     saml.name"
248
249            query="SELECT
250                     sam.thread_id AS id,
251                     sat.subject_token AS name,
252                     sat.latest_message_id,
253                     saml.name AS mailinglist,
254                     array_to_string(array_agg(sam.body), ' ') AS content
255                   FROM
256                     super_archives_message AS sam
257                     JOIN super_archives_thread AS sat
258                       ON sat.id = sam.thread_id
259                     JOIN super_archives_mailinglist AS saml
260                       ON sat.mailinglist_id = saml.id
261                   WHERE
262                     sat.spam IS NOT True
263                   GROUP BY
264                     sam.thread_id,
265                     sat.subject_token,
266                     sat.latest_message_id,
267                     saml.name">
268
269      <!--
270        Check about "DISTINCT ON" here:
271          http://archives.postgresql.org/pgsql-general/2002-06/msg01330.php
272      -->
273      <entity name="first_message"
274              dataSource="colab"
275              transformer="TemplateTransformer"
276              query="SELECT DISTINCT ON (sam.thread_id)
277                       sam.body AS Description,
278                       sam.received_time AS created,
279                       sam.subject_clean AS subject,
280                       saea.real_name AS creator_real_name,
281                       saea.md5 AS creator_email_md5,
282                       au.username AS Creator
283                     FROM
284                       super_archives_message AS sam
285                       JOIN super_archives_emailaddress AS saea
286                         ON sam.from_address_id = saea.id
287                       LEFT JOIN auth_user AS au
288                         ON au.id = saea.user_id
289                     WHERE
290                       sam.thread_id = ${thread.id}
291                     ORDER BY
292                       sam.thread_id,
293                       sam.received_time">
294        <field column="Title" template="${first_message.subject}" />
295        <field column="creator_profile_uri"
296               template="/user/hash/${first_message.creator_email_md5}" />
297      </entity>
298
299      <entity name="latest_message"
300              dataSource="colab"
301              query="SELECT
302                       received_time AS modified
303                     FROM
304                       super_archives_message
305                     WHERE
306                       id = ${thread.latest_message_id}" />
307
308      <entity name="thread_collaborators"
309              dataSource="colab"
310              query="SELECT DISTINCT
311                       au.username AS collaborator
312                     FROM
313                       super_archives_message AS sam
314                       JOIN super_archives_emailaddress AS saea
315                         ON sam.from_address_id = saea.id
316                       JOIN auth_user AS au
317                         ON au.id = saea.user_id
318                     WHERE
319                       thread_id = ${thread.id}" />
320
321      <field column="UID" template="THREAD_${thread.id}" />
322      <field column="getId" template="${thread.name}" />
323      <field column="Type" template="thread" />
324      <field column="path_string"
325             template="/archives/thread/${thread.mailinglist}/${thread.name}" />
326      <field column="created" name="created"
327             dateTimeFormat="yyyy-MM-dd hh:mm:ss" />
328      <field column="modified" name="modified"
329             dateTimeFormat="yyyy-MM-dd hh:mm:ss" />
330    </entity>
331  </document>
332         
333</dataConfig>
334 
335<!--
336vim: ts=2 sw=2 ss=2 expandtab:
337-->
338
Note: Veja TracBrowser para ajuda no uso do navegador do trac.
 

The contents and data of this website are published under license:
Creative Commons 4.0 Brasil - Atribuir Fonte - Compartilhar Igual.