mirror of
https://github.com/sismics/docs.git
synced 2024-11-25 07:07:57 +01:00
Fix multiple criterias Lucene query
This commit is contained in:
parent
5451c79674
commit
e7629eb6a0
@ -30,6 +30,7 @@ import org.joda.time.format.DateTimeFormatter;
|
|||||||
import org.joda.time.format.DateTimeFormatterBuilder;
|
import org.joda.time.format.DateTimeFormatterBuilder;
|
||||||
import org.joda.time.format.DateTimeParser;
|
import org.joda.time.format.DateTimeParser;
|
||||||
|
|
||||||
|
import com.google.common.base.Joiner;
|
||||||
import com.google.common.base.Strings;
|
import com.google.common.base.Strings;
|
||||||
import com.sismics.docs.core.constant.Constants;
|
import com.sismics.docs.core.constant.Constants;
|
||||||
import com.sismics.docs.core.dao.jpa.DocumentDao;
|
import com.sismics.docs.core.dao.jpa.DocumentDao;
|
||||||
@ -209,12 +210,12 @@ public class DocumentResource extends BaseResource {
|
|||||||
DateTimeFormatter formatter = new DateTimeFormatterBuilder().append( null, parsers ).toFormatter();
|
DateTimeFormatter formatter = new DateTimeFormatterBuilder().append( null, parsers ).toFormatter();
|
||||||
|
|
||||||
String[] criteriaList = search.split(" *");
|
String[] criteriaList = search.split(" *");
|
||||||
StringBuilder query = new StringBuilder();
|
List<String> query = new ArrayList<>();
|
||||||
for (String criteria : criteriaList) {
|
for (String criteria : criteriaList) {
|
||||||
String[] params = criteria.split(":");
|
String[] params = criteria.split(":");
|
||||||
if (params.length != 2 || Strings.isNullOrEmpty(params[0]) || Strings.isNullOrEmpty(params[1])) {
|
if (params.length != 2 || Strings.isNullOrEmpty(params[0]) || Strings.isNullOrEmpty(params[1])) {
|
||||||
// This is not a special criteria
|
// This is not a special criteria
|
||||||
query.append(criteria);
|
query.add(criteria);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -251,11 +252,11 @@ public class DocumentResource extends BaseResource {
|
|||||||
documentCriteria.setLanguage(params[1]);
|
documentCriteria.setLanguage(params[1]);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
query.append(criteria);
|
query.add(criteria);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
documentCriteria.setSearch(query.toString());
|
documentCriteria.setSearch(Joiner.on(" ").join(query));
|
||||||
return documentCriteria;
|
return documentCriteria;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user