Revision 8c0fa677 src/gr/ebs/gss/server/ejb/ExternalAPIBean.java

b/src/gr/ebs/gss/server/ejb/ExternalAPIBean.java
1811 1811
		List<FileHeader> result = new ArrayList<FileHeader>();
1812 1812
		try {
1813 1813
			CommonsHttpSolrServer solr = new CommonsHttpSolrServer(getConfiguration().getString("solr.url"));
1814
			SolrQuery solrQuery = new SolrQuery(query);
1814
			SolrQuery solrQuery = new SolrQuery(escapeCharacters(normalizeSearchQuery(query)));
1815 1815
			QueryResponse response = solr.query(solrQuery);
1816 1816
			SolrDocumentList results = response.getResults();
1817 1817
			User user = getUser(userId);
......
2631 2631
		result.append(filename);
2632 2632
		return result.toString();
2633 2633
	}
2634

  
2635
	private String normalizeSearchQuery(String query) {
2636
		if (query.contains("*"))
2637
			return query.toLowerCase().replace('ά', 'α').replace('έ', 'ε').replace('ί', 'ι').replace('ή', 'η').replace('ύ', 'υ')
2638
					.replace('ό', 'ο').replace('ς', 'σ').replace('ώ', 'ω').replace('ϊ', 'ι').replace('ϋ', 'υ');
2639
		else
2640
			return query;
2641
	}
2642
	
2643
	private String escapeCharacters(String text) {
2644
		return text.replaceAll(":", "\\\\:");
2645
	}
2634 2646
}

Also available in: Unified diff