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