Project

General

Profile

« Previous | Next » 

Revision 8282

Added by Jing Tao about 11 years ago

Add a patch for d1_cn_index_processor 1.1.2 version. So it can index taxon information.
Those files will overwrite the ones in the d1_cn_index_process-1.1.2.jar.

View differences:

metacat-index/src/main/resources/application-context-eml200.xml
1
<beans xmlns="http://www.springframework.org/schema/beans"
2
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
3
 xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
4

  
5
 <bean id="eml200Subprocessor"
6
  class="org.dataone.cn.indexer.parser.ScienceMetadataDocumentSubprocessor">
7
  <property name="matchDocument"
8
   value="/d100:systemMetadata/formatId[text() = 'eml://ecoinformatics.org/eml-2.0.0']"></property>
9
  <property name="fieldList">
10
   <list>
11
    <ref bean="eml.abstract" />
12
    <ref bean="eml.keywords" />
13
    <ref bean="eml.title" />
14
    <ref bean="eml.project" />
15
    <ref bean="eml.southBoundCoord" />
16
    <ref bean="eml.northBoundCoord" />
17
    <ref bean="eml.westBoundCoord" />
18
    <ref bean="eml.eastBoundCoord" />
19
    <ref bean="eml.beginDate" />
20
    <ref bean="eml.endDate" />
21
    <ref bean="eml.pubDate" />
22
    <ref bean="eml.author" />
23
    <ref bean="eml.author_lname" />
24
    <ref bean="eml.investigator" />
25
    <ref bean="eml.origin" />
26
    <ref bean="eml.contactOrganization" />
27
    <ref bean="eml.genus" />
28
    <ref bean="eml.species" />
29
    <ref bean="eml.kingdom" />
30
    <ref bean="eml.order" />
31
    <ref bean="eml.phylum" />
32
    <ref bean="eml.family" />
33
    <ref bean="eml.class" /> 
34
    <ref bean="eml.scientificName" />	
35
    <ref bean="eml.fileID" />
36
    <ref bean="eml.fullText" />
37
   </list>
38
  </property>
39
 </bean>
40
</beans>
metacat-index/src/main/resources/application-context-eml201.xml
1
<beans xmlns="http://www.springframework.org/schema/beans"
2
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
3
 xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
4

  
5
 <bean id="eml201Subprocessor"
6
  class="org.dataone.cn.indexer.parser.ScienceMetadataDocumentSubprocessor">
7
  <property name="matchDocument"
8
   value="/d100:systemMetadata/formatId[text() = 'eml://ecoinformatics.org/eml-2.0.1']"></property>
9
  <property name="fieldList">
10
   <list>
11
    <ref bean="eml.abstract" />
12
    <ref bean="eml.keywords" />
13
    <ref bean="eml.title" />
14
    <ref bean="eml.project" />
15
    <ref bean="eml.southBoundCoord" />
16
    <ref bean="eml.northBoundCoord" />
17
    <ref bean="eml.westBoundCoord" />
18
    <ref bean="eml.eastBoundCoord" />
19
    <ref bean="eml.beginDate" />
20
    <ref bean="eml.endDate" />
21
    <ref bean="eml.pubDate" />
22
    <ref bean="eml.author" />
23
    <ref bean="eml.author_lname" />
24
    <ref bean="eml.investigator" />
25
    <ref bean="eml.origin" />
26
    <ref bean="eml.contactOrganization" />
27
    <ref bean="eml.genus" />
28
    <ref bean="eml.species" />
29
    <ref bean="eml.kingdom" />
30
    <ref bean="eml.order" />
31
    <ref bean="eml.phylum" />
32
    <ref bean="eml.family" />
33
    <ref bean="eml.class" /> 
34
    <ref bean="eml.scientificName" />	
35
    <ref bean="eml.fileID" />
36
    <ref bean="eml.fullText" />
37
   </list>
38
  </property>
39
 </bean>
40
</beans>
metacat-index/src/main/resources/application-context-eml210.xml
1
<beans xmlns="http://www.springframework.org/schema/beans"
2
	xmlns:p="http://www.springframework.org/schema/p"
3
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4
	xsi:schemaLocation="http://www.springframework.org/schema/beans 
5
						http://www.springframework.org/schema/beans/spring-beans.xsd
6
						http://www.springframework.org/schema/context  
7
    					http://www.springframework.org/schema/context/spring-context-3.0.xsd">
8
    					
9
 <bean id="eml210Subprocessor"
10
  class="org.dataone.cn.indexer.parser.ScienceMetadataDocumentSubprocessor">
11
  <property name="matchDocument"
12
   value="/d100:systemMetadata/formatId[text() = 'eml://ecoinformatics.org/eml-2.1.0']"></property>
13
  <property name="fieldList">
14
   <list>
15
    <ref bean="eml.abstract" />
16
    <ref bean="eml.keywords" />
17
    <ref bean="eml.title" />
18
    <ref bean="eml.project" />
19
    <ref bean="eml.southBoundCoord" />
20
    <ref bean="eml.northBoundCoord" />
21
    <ref bean="eml.westBoundCoord" />
22
    <ref bean="eml.eastBoundCoord" />
23
    <ref bean="eml.beginDate" />
24
    <ref bean="eml.endDate" />
25
    <ref bean="eml.pubDate" />
26
    <ref bean="eml.author" />
27
    <ref bean="eml.author_lname" />
28
    <ref bean="eml.investigator" />
29
    <ref bean="eml.origin" />
30
    <ref bean="eml.contactOrganization" />
31
    <ref bean="eml.genus" />
32
    <ref bean="eml.species" />
33
    <ref bean="eml.kingdom" />
34
    <ref bean="eml.order" />
35
    <ref bean="eml.phylum" />
36
    <ref bean="eml.family" />
37
    <ref bean="eml.class" /> 
38
    <ref bean="eml.scientificName" />
39
    <ref bean="eml.fileID" />
40
    <ref bean="eml.fullText" />
41
   </list>
42
  </property>
43
 </bean>
44
</beans>
metacat-index/src/main/resources/application-context-eml211.xml
1
<beans xmlns="http://www.springframework.org/schema/beans"
2
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
3
 xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
4

  
5
 <bean id="eml211Subprocessor"
6
  class="org.dataone.cn.indexer.parser.ScienceMetadataDocumentSubprocessor">
7
  <property name="matchDocument"
8
   value="/d100:systemMetadata/formatId[text() = 'eml://ecoinformatics.org/eml-2.1.1']"></property>
9
  <property name="fieldList">
10
   <list>
11
    <ref bean="eml.abstract" />
12
    <ref bean="eml.keywords" />
13
    <ref bean="eml.title" />
14
    <ref bean="eml.project" />
15
    <ref bean="eml.southBoundCoord" />
16
    <ref bean="eml.northBoundCoord" />
17
    <ref bean="eml.westBoundCoord" />
18
    <ref bean="eml.eastBoundCoord" />
19
    <ref bean="eml.beginDate" />
20
    <ref bean="eml.endDate" />
21
    <ref bean="eml.pubDate" />
22
    <ref bean="eml.author" />
23
    <ref bean="eml.author_lname" />
24
    <ref bean="eml.investigator" />
25
    <ref bean="eml.origin" />
26
    <ref bean="eml.contactOrganization" />
27
    <ref bean="eml.genus" />
28
    <ref bean="eml.species" />
29
    <ref bean="eml.kingdom" />
30
    <ref bean="eml.order" />
31
    <ref bean="eml.phylum" />
32
    <ref bean="eml.family" />
33
    <ref bean="eml.class" /> 
34
    <ref bean="eml.scientificName" />
35
    <ref bean="eml.fileID" />
36
    <ref bean="eml.fullText" />
37
   </list>
38
  </property>
39
 </bean>
40
</beans>
metacat-index/src/main/resources/application-context-eml-base.xml
1
<beans xmlns="http://www.springframework.org/schema/beans"
2
	xmlns:p="http://www.springframework.org/schema/p"
3
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4
	xsi:schemaLocation="http://www.springframework.org/schema/beans 
5
						http://www.springframework.org/schema/beans/spring-beans.xsd
6
						http://www.springframework.org/schema/context  
7
    					http://www.springframework.org/schema/context/spring-context-3.0.xsd">
8

  
9

  
10
	<bean id="eml.abstract" class="org.dataone.cn.indexer.parser.MergeSolrField">
11
	  <constructor-arg name="name" value="abstract" />
12
	  <constructor-arg name="xpath"
13
	    value="//dataset/abstract/descendant::text()" />
14
	  <constructor-arg name="delimiter" value=" " />
15
	  <property name="multivalue" value="false" />
16
	  <property name="dedupe" value="false" />
17
	</bean>
18

  
19
	<bean id="eml.keywords" class="org.dataone.cn.indexer.parser.SolrField">
20
		<constructor-arg name="name" value="keywords" />
21
		<constructor-arg name="xpath"
22
			value="//dataset/keywordSet/keyword/text()" />
23
		<property name="multivalue" value="true" />
24
		<property name="dedupe" value="true" />
25
	</bean>
26

  
27
	<bean id="eml.southBoundCoord" class="org.dataone.cn.indexer.parser.SolrField">
28
		<constructor-arg name="name" value="southBoundCoord" />
29
		<constructor-arg name="xpath"
30
			value="//dataset/coverage/geographicCoverage/boundingCoordinates/southBoundingCoordinate/text()" />
31
		<property name="multivalue" value="false" />
32
		<property name="converter" ref="solrLatitudeConverter" />
33
	</bean>
34

  
35
	<bean id="eml.northBoundCoord" class="org.dataone.cn.indexer.parser.SolrField">
36
		<constructor-arg name="name" value="northBoundCoord" />
37
		<constructor-arg name="xpath"
38
			value="//dataset/coverage/geographicCoverage/boundingCoordinates/northBoundingCoordinate/text()" />
39
		<property name="multivalue" value="false" />
40
		<property name="converter" ref="solrLatitudeConverter" />
41
	</bean>
42

  
43
	<bean id="eml.westBoundCoord" class="org.dataone.cn.indexer.parser.SolrField">
44
		<constructor-arg name="name" value="westBoundCoord" />
45
		<constructor-arg name="xpath"
46
			value="//dataset/coverage/geographicCoverage/boundingCoordinates/westBoundingCoordinate/text()" />
47
		<property name="multivalue" value="false" />
48
		<property name="converter" ref="solrLongitudeConverter" />
49
	</bean>
50

  
51
	<bean id="eml.eastBoundCoord" class="org.dataone.cn.indexer.parser.SolrField">
52
		<constructor-arg name="name" value="eastBoundCoord" />
53
		<constructor-arg name="xpath"
54
			value="//dataset/coverage/geographicCoverage/boundingCoordinates/eastBoundingCoordinate/text()" />
55
		<property name="multivalue" value="false" />
56
		<property name="converter" ref="solrLongitudeConverter" />
57
	</bean>
58

  
59
	<bean id="eml.beginDate" class="org.dataone.cn.indexer.parser.SolrField">
60
		<constructor-arg name="name" value="beginDate" />
61
		<constructor-arg name="xpath"
62
			value="//dataset/coverage/temporalCoverage/rangeOfDates/beginDate/calendarDate/text()" />
63
		<property name="multivalue" value="false" />
64
		<property name="converter" ref="dateConverter" />
65
	</bean>
66

  
67
	<bean id="eml.endDate" class="org.dataone.cn.indexer.parser.SolrField">
68
		<constructor-arg name="name" value="endDate" />
69
		<constructor-arg name="xpath"
70
			value="//dataset/coverage/temporalCoverage/rangeOfDates/endDate/calendarDate/text()" />
71
		<property name="multivalue" value="false" />
72
		<property name="converter" ref="dateConverter" />
73
	</bean>
74
	
75
	<bean id="eml.pubDate" class="org.dataone.cn.indexer.parser.SolrField">
76
		<constructor-arg name="name" value="pubDate" />
77
		<constructor-arg name="xpath" value="//dataset/pubDate/text()" />
78
		<property name="multivalue" value="false" />
79
		<property name="converter" ref="dateConverter" />
80
	</bean>
81

  
82
	<bean id="eml.title" class="org.dataone.cn.indexer.parser.SolrField">
83
		<constructor-arg name="name" value="title" />
84
		<constructor-arg name="xpath" value="//dataset/title/text()" />
85
		<property name="multivalue" value="false" />
86
	</bean>
87
	
88
	<bean id="eml.project" class="org.dataone.cn.indexer.parser.SolrField">
89
		<constructor-arg name="name" value="project" />
90
		<constructor-arg name="xpath" value="//dataset/project/title/text()" />
91
		<property name="multivalue" value="false" />
92
	</bean>	
93

  
94
	<bean id="eml.author" class="org.dataone.cn.indexer.parser.CommonRootSolrField"
95
			p:multivalue="false"
96
			p:root-ref="authorNameRoot">
97
			<constructor-arg name="name" value="author" />
98
	</bean>
99
	
100
	<bean id="authorNameRoot" class="org.dataone.cn.indexer.parser.utility.RootElement"
101
		p:name="author"
102
		p:xPath="//dataset/creator/individualName"
103
		p:template="[givenName] [surName]">
104
		<property name="leafs">
105
			<list>
106
				<ref bean="givenNameLeaf"/>
107
				<ref bean="surNameLeaf"/>
108
			</list>
109
		</property>
110
	</bean>
111
	
112
	<bean id="eml.author_lname" class="org.dataone.cn.indexer.parser.SolrField">
113
		<constructor-arg name="name" value="authorLastName" />
114
		<constructor-arg name="xpath"
115
			value="//dataset/creator/individualName/surName/text()" />
116
		<property name="multivalue" value="true" />
117
	</bean>
118
	
119
	<bean id="eml.investigator" class="org.dataone.cn.indexer.parser.SolrField">
120
		<constructor-arg name="name" value="investigator" />
121
		<constructor-arg name="xpath"
122
			value="//dataset/creator/individualName/surName/text()" />
123
		<property name="multivalue" value="true" />
124
	</bean>
125
	
126
	<bean id="eml.origin" class="org.dataone.cn.indexer.parser.CommonRootSolrField"
127
		p:multivalue="true"
128
		p:root-ref="originRoot">
129
		<constructor-arg name="name" value="origin" />
130
	</bean>
131
	
132
	<bean id="originRoot" class="org.dataone.cn.indexer.parser.utility.RootElement"
133
		p:name="origin"
134
		p:xPath="//dataset/creator" 
135
		p:template="[individualName]||[organizationName]">
136
		<property name="leafs"><list><ref bean="organizationNameLeaf"/></list></property>
137
		<property name="subRoots"><list><ref bean="individualNameRoot" /></list></property>
138
	</bean>
139
		
140
	<bean id="organizationNameLeaf" class="org.dataone.cn.indexer.parser.utility.LeafElement"
141
		p:name="organizationName"
142
		p:xPath="organizationName/text()" />
143
		
144
	<bean id="individualNameRoot" class="org.dataone.cn.indexer.parser.utility.RootElement"
145
		p:name="individualName"
146
		p:xPath="individualName"
147
		p:template="[givenName] [surName]">
148
		<property name="leafs">
149
			<list>
150
				<ref bean="givenNameLeaf"/>
151
				<ref bean="surNameLeaf"/>
152
			</list>
153
		</property>
154
	</bean>
155
	
156
	<bean id="givenNameLeaf" class="org.dataone.cn.indexer.parser.utility.LeafElement"
157
		p:name="givenName"
158
		p:xPath="givenName/text()" />
159
		
160
	<bean id="surNameLeaf" class="org.dataone.cn.indexer.parser.utility.LeafElement"
161
		p:name="surName"
162
		p:xPath="surName/text()"/>
163
	
164
	<bean id="eml.contactOrganization" class="org.dataone.cn.indexer.parser.SolrField">
165
		<constructor-arg name="name" value="contactOrganization" />
166
		<constructor-arg name="xpath"
167
		  value="//dataset/creator/organizationName/text()" />
168
		<property name="multivalue" value="true" />
169
		<property name="dedupe" value="true"/>
170
	</bean>
171
	
172
	<bean id="eml.fileID" class="org.dataone.cn.indexer.parser.ResolveSolrField">
173
		<constructor-arg name="name" value="fileID" />
174
	</bean>
175
	
176
	<bean id="eml.fullText" class="org.dataone.cn.indexer.parser.FullTextSolrField">
177
		<constructor-arg name="name" value="text" />
178
		<constructor-arg name="xpath"
179
			value="//dataset/*[not(self::dataTable)]//text()" />
180
		<property name="multivalue" value="false" />
181
		<property name="combineNodes" value="true"/>
182
	</bean>
183
        
184
        <bean id="eml.genus" class="org.dataone.cn.indexer.parser.SolrField">
185
		<constructor-arg name="name" value="genus" />
186
		<constructor-arg name="xpath" 
187
			value='//taxonomicClassification/taxonRankValue[../taxonRankName="Genus"]/text()' />
188
		<property name="multivalue" value="true" />
189
		<property name="dedupe" value="true" />
190
	</bean>
191

  
192
	<bean id="eml.species" class="org.dataone.cn.indexer.parser.SolrField">
193
		<constructor-arg name="name" value="species" />
194
		<constructor-arg name="xpath" 
195
			value='//taxonomicClassification/taxonRankValue[../taxonRankName="Species"]/text()' />
196
		<property name="multivalue" value="true" />
197
		<property name="dedupe" value="true" />
198
	</bean>
199

  
200
	<bean id="eml.kingdom" class="org.dataone.cn.indexer.parser.SolrField">
201
		<constructor-arg name="name" value="kingdom" />
202
		<constructor-arg name="xpath" 
203
			value='//taxonomicClassification/taxonRankValue[../taxonRankName="Kingdom"]/text()' />
204
		<property name="multivalue" value="true" />
205
		<property name="dedupe" value="true" />
206
	</bean>
207

  
208
	<bean id="eml.order" class="org.dataone.cn.indexer.parser.SolrField">
209
		<constructor-arg name="name" value="order" />
210
		<constructor-arg name="xpath" 
211
			value='//taxonomicClassification/taxonRankValue[../taxonRankName="Order"]/text()' />
212
		<property name="multivalue" value="true" />
213
		<property name="dedupe" value="true" />
214
	</bean>
215

  
216
	<bean id="eml.phylum" class="org.dataone.cn.indexer.parser.SolrField">
217
		<constructor-arg name="name" value="phylum" />
218
		<constructor-arg name="xpath" 
219
			value='//taxonomicClassification/taxonRankValue[../taxonRankName="Phylum"]/text() | //taxonomicClassification/taxonRankValue[../taxonRankName="Division"]/text()' />
220
		<property name="multivalue" value="true" />
221
		<property name="dedupe" value="true" />
222
	</bean>
223

  
224

  
225
	<bean id="eml.family" class="org.dataone.cn.indexer.parser.SolrField">
226
		<constructor-arg name="name" value="family" />
227
		<constructor-arg name="xpath" 
228
			value='//taxonomicClassification/taxonRankValue[../taxonRankName="Family"]/text()' />
229
		<property name="multivalue" value="true" />
230
		<property name="dedupe" value="true" />
231
	</bean>
232

  
233
	<bean id="eml.class" class="org.dataone.cn.indexer.parser.SolrField">
234
		<constructor-arg name="name" value="class" />
235
		<constructor-arg name="xpath" 
236
			value='//taxonomicClassification/taxonRankValue[../taxonRankName="Class"]/text()' />
237
		<property name="multivalue" value="true" />
238
		<property name="dedupe" value="true" />
239
	</bean>
240

  
241

  
242

  
243
	<bean id="eml.scientificName" class="org.dataone.cn.indexer.parser.CommonRootSolrField"
244
		p:multivalue="true" p:root-ref="eml.scientificNameRoot">
245
		<constructor-arg name="name" value="scientificName" />
246
	</bean>
247

  
248

  
249
	<bean id="eml.scientificNameRoot" class="org.dataone.cn.indexer.parser.utility.RootElement"
250
		p:name="scientificName"
251
		p:xPath='//taxonomicClassification[../taxonRankName="Genus"]'
252
		p:template="[genus] [species]">
253
		<property name="leafs">
254
			<list>
255
				<ref bean="eml.genusLeaf"/>
256
				<ref bean="eml.speciesLeaf"/>
257
			</list>
258
		</property>
259
	</bean>	
260

  
261

  
262
	<bean id="eml.genusLeaf" class="org.dataone.cn.indexer.parser.utility.LeafElement"
263
		p:name="genus"
264
		p:xPath='../taxonRankValue/text()' />
265

  
266

  
267
	<bean id="eml.speciesLeaf" class="org.dataone.cn.indexer.parser.utility.LeafElement"
268
		p:name="species"
269
		p:xPath='taxonRankValue/text()' />
270

  
271
</beans>

Also available in: Unified diff