Skip to content

Commit 615de73

Browse files
committed
.
1 parent a245e9d commit 615de73

4 files changed

Lines changed: 105 additions & 20 deletions

File tree

data/solr-config.json

Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -108,6 +108,81 @@
108108
"isFieldTypeString": "1"
109109
}
110110
],
111+
"Filters_f":
112+
[
113+
{
114+
"title": "Activity Status",
115+
"field": "activity_status_code",
116+
"url": "api/v2/activity/?facet=on&facet.field=activity_status_code&facet.limit=-1&facet.mincount=1&q.op=AND&fq=hierarchy:1&fq=participating_org_ref:(GB-GOV-* OR GB-COH-*) ",
117+
"mappingFile": "data/mappingSolrFilters/activity_status.json",
118+
"defaultValue": "2",
119+
"isFieldTypeString": "0"
120+
},
121+
{
122+
"title": "Government Department(s)",
123+
"field": "reporting_org_ref",
124+
"url": "api/v2/activity/?facet=on&facet.field=reporting_org_ref&facet.limit=-1&facet.mincount=1&fq=hierarchy:1&fq=participating_org_ref:(GB-GOV-* OR GB-COH-*) ",
125+
"mappingFile": "data/custom-codes/ogds.json",
126+
"defaultValue": "",
127+
"isFieldTypeString": "1"
128+
},
129+
{
130+
"title": "Tags",
131+
"field": "tag_code",
132+
"url": "api/v2/activity/?facet=on&facet.field=tag_code&facet.limit=-1&facet.mincount=1&fq=hierarchy:1&fq=participating_org_ref:(GB-GOV-* OR GB-COH-*) ",
133+
"mappingFile": "data/custom-codes/policy-priorities.json",
134+
"defaultValue": "",
135+
"isFieldTypeString": "1"
136+
},
137+
{
138+
"title": "Sectors",
139+
"field": "sector_code",
140+
"url": "api/v2/activity/?facet=on&facet.field=sector_code&facet.limit=-1&facet.mincount=1&fq=hierarchy:1&fq=participating_org_ref:(GB-GOV-* OR GB-COH-*) ",
141+
"mappingFile": "sectorHierarchies.json",
142+
"defaultValue": "",
143+
"isFieldTypeString": "0"
144+
},
145+
{
146+
"title": "Participating Orgs",
147+
"field": "participating_org_ref",
148+
"url": "api/v2/activity/?facet=on&facet.field=participating_org_ref&facet.limit=-1&facet.mincount=1&fq=hierarchy:1&fq=participating_org_ref:(GB-GOV-* OR GB-COH-*)&fq=participating_org_role:4 ",
149+
"mappingFile": "iati_publishers_list.json",
150+
"defaultValue": "",
151+
"isFieldTypeString": "1"
152+
},
153+
{
154+
"title": "Activity Dates",
155+
"field": "activity_date_iso_date",
156+
"url": "api/v2/activity/?facet=on&facet.field=activity_date_iso_date&facet.limit=-1&facet.mincount=1&fq=hierarchy:1&fq=participating_org_ref:(GB-GOV-* OR GB-COH-*)",
157+
"mappingFile": "",
158+
"defaultValue": "",
159+
"isFieldTypeString": "1"
160+
},
161+
{
162+
"title": "Benefiting Countries",
163+
"field": "recipient_country_code",
164+
"url": "api/v2/activity/?facet=on&facet.field=recipient_country_code&facet.limit=-1&facet.mincount=1&fq=hierarchy:1&fq=participating_org_ref:(GB-GOV-* OR GB-COH-*)",
165+
"mappingFile": "data/country-codes/country_codes.json",
166+
"defaultValue": "",
167+
"isFieldTypeString": "1"
168+
},
169+
{
170+
"title": "Benefiting Regions",
171+
"field": "recipient_region_code",
172+
"url": "api/v2/activity/?facet=on&facet.field=recipient_region_code&facet.limit=-1&facet.mincount=1&fq=hierarchy:1&fq=participating_org_ref:(GB-GOV-* OR GB-COH-*)",
173+
"mappingFile": "data/regionCodes.json",
174+
"defaultValue": "",
175+
"isFieldTypeString": "1"
176+
},
177+
{
178+
"title": "Document Categories",
179+
"field": "document_link_category_code",
180+
"url": "api/v2/activity/?facet=on&facet.field=document_link_category_code&facet.limit=-1&facet.mincount=1&fq=hierarchy:1&fq=participating_org_ref:(GB-GOV-* OR GB-COH-*)",
181+
"mappingFile": "data/custom-codes/DocumentCategory.json",
182+
"defaultValue": "",
183+
"isFieldTypeString": "1"
184+
}
185+
],
111186
"QueryCategories":
112187
{
113188
"F":

devtracker.rb

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -901,16 +901,16 @@ def getCacheData(fileName)
901901
response = solrResponse(query, activityStatuses, 'F', 0, '', '')
902902
##Clean any unnecessary activity
903903
## TODO
904-
elist = Oj.load(RestClient.get 'https://iati.fcdo.gov.uk/iati_files/elist.json')
905-
if elist.length > 0
906-
tempResponseList = response['response']['docs']
907-
tempResponseList.each do |data|
908-
if elist.include?(data['iati_identifier'])
909-
tempResponseList.delete(data)
910-
end
911-
end
912-
response['response']['docs'] = tempResponseList
913-
end
904+
# elist = Oj.load(RestClient.get 'https://iati.fcdo.gov.uk/iati_files/elist.json')
905+
# if elist.length > 0
906+
# tempResponseList = response['response']['docs']
907+
# tempResponseList.each do |data|
908+
# if elist.include?(data['iati_identifier'])
909+
# tempResponseList.delete(data)
910+
# end
911+
# end
912+
# response['response']['docs'] = tempResponseList
913+
# end
914914
##
915915
if(response['response']['numFound'].to_i > 0)
916916
response['response'] = addTotalBudgetWithCurrency(response['response'])
@@ -1069,12 +1069,16 @@ def getCacheData(fileName)
10691069

10701070
post '/solr-response' do
10711071
query = sanitize_input(params['data']['query'],"newId")
1072+
searchType = sanitize_input(params['data']['queryType'],"newId")
10721073
if params['data']['filters'].strip.length > 1
1073-
filters = 'AND ' + sanitize_input(params['data']['filters'],"newId")
1074+
if searchType == 'F'
1075+
filters = '&fq=' + sanitize_input(params['data']['filters'],"newId").gsub(/\band\b/, " &fq= ")
1076+
else
1077+
filters = 'AND ' + sanitize_input(params['data']['filters'],"newId")
1078+
end
10741079
else
10751080
filters = ''
10761081
end
1077-
searchType = sanitize_input(params['data']['queryType'],"newId")
10781082
startPage = sanitize_input(params['data']['page'],"newId")
10791083
response = solrResponse(query, filters, searchType, startPage, sanitize_input(params['data']['dateRange'],"newId"), sanitize_input(params['data']['sortType'],"newId"))
10801084
if searchType == 'F'

helpers/project_helpers.rb

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -32,12 +32,12 @@ def check_if_project_exists(projectId)
3232
break
3333
end
3434
end
35-
elist = Oj.load(RestClient.get 'https://iati.fcdo.gov.uk/iati_files/elist.json')
36-
if elist.length > 0
37-
if elist.include?(projectId.to_s)
38-
isGovOrgPresent = false
39-
end
40-
end
35+
# elist = Oj.load(RestClient.get 'https://iati.fcdo.gov.uk/iati_files/elist.json')
36+
# if elist.length > 0
37+
# if elist.include?(projectId.to_s)
38+
# isGovOrgPresent = false
39+
# end
40+
# end
4141
if !isGovOrgPresent
4242
halt 404, "Activity not found"
4343
end

helpers/solr_helper.rb

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -198,7 +198,11 @@ def populateKeyVal(key, val)
198198
def prepareFilters(query, queryType)
199199
solrConfig = Oj.load(File.read('data/solr-config.json'))
200200
apiLink = solrConfig['APILink']
201-
filters = solrConfig['Filters']
201+
if queryType == 'F'
202+
filters = solrConfig['Filters_f']
203+
else
204+
filters = solrConfig['Filters']
205+
end
202206
mainQueryString = prepareQuery(query, queryType)
203207
finalFilterList = {}
204208
filters.each do |filter|
@@ -228,7 +232,7 @@ def solrResponse(query, filters, queryType, startPage, dateRange, sortType)
228232
if(sortType != '')
229233
mainQueryString = mainQueryString + '&sort=' + sortType
230234
end
231-
mainQueryString = mainQueryString + '&defType=edismax&qf=' + solrConfig['DefaultFieldsToSearch'].join(' ') + '&mm=20&q=' + query
235+
#mainQueryString = mainQueryString + '&defType=edismax&qf=' + solrConfig['DefaultFieldsToSearch'].join(' ') + '&mm=20&q=' + query
232236
# Get response based on the API responses
233237
# Embed the following
234238
# https://fcdo2.iati.cloud//api/v2/activity/?q.op=AND&sort=if(termfreq(reporting_org_ref,%27GB-GOV-1%27),1,if(termfreq(reporting_org_ref,%27GB-GOV-2%27),2,99))%20asc,%20score%20desc&fq=hierarchy:1&fq=participating_org_ref:GB-GOV-*&fq=activity_status_code:(2)&defType=edismax&qf=title_narrative%20title_narrative_first%20description_narrative%20iati_identifier%20transaction_description_narrative%20reporting_org_ref%20recipient_country_name%20document_link_title_narrative_text%20transaction%20reporting_org_narrative%20participating_org_narrative%20related_activity_context&mm=20&q=programme%20sudan&rows=20&fl=iati_identifier,title,description*&start=0
@@ -293,6 +297,8 @@ def prepareQuery(query, queryType)
293297
# mainQueryString = mainQueryString + ')'
294298
# end
295299
mainQueryString = ''
300+
mainQueryString = mainQueryString + '&defType=edismax&qf=' + solrConfig['DefaultFieldsToSearch'].join(' ') + '&mm=20&q=' + query
301+
#mainQueryString = ''
296302
elsif(queryType == 'R')
297303
queryCategory = solrConfig['QueryCategories'][queryType]
298304
if(queryCategory['fieldDependency'] != '')

0 commit comments

Comments
 (0)