Changeset 7754 for TI01-discovery-API/trunk
- Timestamp:
- 30/11/10 11:40:02 (10 years ago)
- Location:
- TI01-discovery-API/trunk/MEDINDiscoveryService
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
TI01-discovery-API/trunk/MEDINDiscoveryService
- Property svn:ignore
-
old new 1 1 DummyForEclipse 2 3 .metadata
-
- Property svn:ignore
-
TI01-discovery-API/trunk/MEDINDiscoveryService/pom.xml
r7609 r7754 4 4 <groupId>ndg.services.discovery</groupId> 5 5 <artifactId>MedinDiscoveryService</artifactId> 6 <version>1.2. 5</version>6 <version>1.2.6</version> 7 7 <packaging>aar</packaging> 8 8 -
TI01-discovery-API/trunk/MEDINDiscoveryService/src/main/java/ndg/common/TermParser.java
r7609 r7754 159 159 } 160 160 161 private String[] extractWordPhrase(String term) throws AssembleQueryException { 161 /** 162 * Returns an array containg the phrases into the term 163 * @param term the term to parse 164 * @return the phrases contained 165 **/ 166 public String[] extractWordPhrase(String term) throws AssembleQueryException { 162 167 List<String> ret = new ArrayList<String>(); 163 168 -
TI01-discovery-API/trunk/MEDINDiscoveryService/src/main/java/ndg/services/discovery/model/CommonMethods.java
r7558 r7754 132 132 StringBuffer orderSQL = new StringBuffer(); 133 133 134 134 whereSQL.append("transformed_document.original_document_id = original_document.original_document_id"); 135 135 136 fromSQL.append(" FROM "); 136 137 fromSQL.append(DiscoveryDictionary.ORIGINAL_DOCUMENT_TABLE); 138 fromSQL.append(", " + DiscoveryDictionary.TRANSFORMED_DOCUMENT_TABLE); 137 139 138 140 assembleSearchQuery(selectSQL, fromSQL, whereSQL,criteria, retrieveType); -
TI01-discovery-API/trunk/MEDINDiscoveryService/src/main/java/ndg/services/discovery/model/SearchAgent.java
r7558 r7754 177 177 boolean secondPass = false; 178 178 int queryIndex = 0; 179 TermParser parser = new TermParser(); 180 String[] phrases = null; 179 181 for (TermSearchType termType : terms) { 182 phrases = null; 180 183 String term = termType.getTerm(); 181 184 … … 183 186 if (term == null || term.length() == 0) 184 187 continue; 185 term = new TermParser().parseTerm(term); 188 189 //DO NOT INVERT!! 190 phrases = parser.extractWordPhrase(term); 191 term = parser.parseTerm(term); 186 192 187 193 DiscoveryDictionary.TermTarget termTarget = DiscoveryDictionary.getTermType(termType.getTermTarget()); … … 196 202 197 203 String operator = getOperator(termType.getOperator()); 198 204 205 checkWHERE_AND(whereSQL, secondPass); 206 199 207 if ((!secondPass && operator.equals(OPERATOR.NOT.name())) || (secondPass && queryIndex < terms.size())) { 200 208 whereSQL.append(" "); … … 205 213 whereSQL.append(" query" + Integer.toString(queryIndex) + " @@ "); 206 214 whereSQL.append(composeVector(termTarget)); 215 216 if (phrases != null && phrases[0].trim().length() > 0) { 217 for (String phrase : phrases) { 218 checkWHERE_AND(whereSQL, secondPass); 219 //the ILIKE (case insensitive) operator is POSTGRESQL a specific extension 220 whereSQL.append("transformed_document.transformed_document ilike '%" + phrase.replaceAll("'", "") + "%'"); 221 } 222 } 207 223 208 224 secondPass = true;
Note: See TracChangeset
for help on using the changeset viewer.