diff --git a/docs-android/app/src/main/java/com/sismics/docs/util/SearchQueryBuilder.java b/docs-android/app/src/main/java/com/sismics/docs/util/SearchQueryBuilder.java index 42522174..107d289f 100644 --- a/docs-android/app/src/main/java/com/sismics/docs/util/SearchQueryBuilder.java +++ b/docs-android/app/src/main/java/com/sismics/docs/util/SearchQueryBuilder.java @@ -39,7 +39,9 @@ public class SearchQueryBuilder { */ public SearchQueryBuilder simpleSearch(String simpleSearch) { if (isValid(simpleSearch)) { - query.append(SEARCH_SEPARATOR).append(simpleSearch); + query.append(SEARCH_SEPARATOR) + .append("simple:") + .append(simpleSearch); } return this; } diff --git a/docs-importer/package-lock.json b/docs-importer/package-lock.json index bd30e36e..34f63dd9 100644 --- a/docs-importer/package-lock.json +++ b/docs-importer/package-lock.json @@ -36,7 +36,7 @@ "argparse": { "version": "1.0.10", "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha1-vNZ5HqWuCXJeF+WtmIE0zUCz2RE=", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", "requires": { "sprintf-js": "~1.0.2" } @@ -90,7 +90,7 @@ "brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha1-PH/L9SnYcibz0vUrlm/1Jx60Qd0=", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -441,7 +441,7 @@ "log-symbols": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz", - "integrity": "sha1-V0Dhxdbw39pK2TI7UzIQfva0xAo=", + "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==", "requires": { "chalk": "^2.0.1" } @@ -462,12 +462,12 @@ "mimic-fn": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", - "integrity": "sha1-ggyGo5M0ZA6ZUWkovQP8qIBX0CI=" + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==" }, "minimatch": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha1-UWbihkV/AzBgZL5Ul+jbsMPTIIM=", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "requires": { "brace-expansion": "^1.1.7" } @@ -534,7 +534,7 @@ "preferences": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/preferences/-/preferences-1.0.2.tgz", - "integrity": "sha1-UDaZN8ZpBIoEPKF+REaEQ278WUU=", + "integrity": "sha512-cRjA8Galk1HDDBOKjx6DhTwfy5+FVZtH7ogg6rgTLX8Ak4wi55RaS4uRztJuVPd+md1jZo99bH/h1Q9bQQK8bg==", "requires": { "graceful-fs": "^4.1.2", "js-yaml": "^3.10.0", @@ -556,7 +556,7 @@ "recursive-readdir": { "version": "2.2.2", "resolved": "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.2.tgz", - "integrity": "sha1-mUb7MnThYo3m42svZxSVO0hFCU8=", + "integrity": "sha512-nRCcW9Sj7NuZwa2XvH9co8NPeXUBhZP7CRKJtU+cS6PW9FpCIFoI5ib0NT1ZrbNuPoRy0ylyCaUL8Gih4LSyFg==", "requires": { "minimatch": "3.0.4" } @@ -674,7 +674,7 @@ "string-width": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha1-q5Pyeo3BPSjKyBXEYhQ6bZASrp4=", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", "requires": { "is-fullwidth-code-point": "^2.0.0", "strip-ansi": "^4.0.0" @@ -714,7 +714,7 @@ "tmp": { "version": "0.0.33", "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", - "integrity": "sha1-bTQzWIl2jSGyvNoKonfO07G/rfk=", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", "requires": { "os-tmpdir": "~1.0.2" } diff --git a/docs-web/src/main/java/com/sismics/docs/rest/resource/DocumentResource.java b/docs-web/src/main/java/com/sismics/docs/rest/resource/DocumentResource.java index 2bcbbe8e..4a35c1c1 100644 --- a/docs-web/src/main/java/com/sismics/docs/rest/resource/DocumentResource.java +++ b/docs-web/src/main/java/com/sismics/docs/rest/resource/DocumentResource.java @@ -455,8 +455,8 @@ public class DocumentResource extends BaseResource { for (String criteria : criteriaList) { String[] params = criteria.split(":"); if (params.length != 2 || Strings.isNullOrEmpty(params[0]) || Strings.isNullOrEmpty(params[1])) { - // This is not a special criteria - query.add(criteria); + // This is not a special criteria, do a fulltext search on it + fullQuery.add(criteria); continue; } @@ -588,12 +588,16 @@ public class DocumentResource extends BaseResource { // New shared state criteria documentCriteria.setActiveRoute(params[1].equals("me")); break; + case "simple": + // New simple search criteria + query.add(params[1]); + break; case "full": - // New full content search criteria + // New fulltext search criteria fullQuery.add(params[1]); break; default: - query.add(criteria); + fullQuery.add(criteria); break; } } diff --git a/docs-web/src/main/webapp/src/app/docs/controller/document/Document.js b/docs-web/src/main/webapp/src/app/docs/controller/document/Document.js index 650b836f..c61d1c3c 100644 --- a/docs-web/src/main/webapp/src/app/docs/controller/document/Document.js +++ b/docs-web/src/main/webapp/src/app/docs/controller/document/Document.js @@ -173,7 +173,10 @@ angular.module('docs').controller('Document', function ($scope, $rootScope, $tim $scope.startSearch = function () { var search = ''; if (!_.isEmpty($scope.advsearch.search_simple)) { - search += $scope.advsearch.search_simple + ' '; + var simplesearch = _.map($scope.advsearch.search_simple.split(/\s+/), function (simple) { + return 'simple:' + simple + }); + search += simplesearch.join(' ') + ' '; } if (!_.isEmpty($scope.advsearch.search_fulltext)) { var fulltext = _.map($scope.advsearch.search_fulltext.split(/\s+/), function (full) { diff --git a/docs-web/src/test/java/com/sismics/docs/rest/TestDocumentResource.java b/docs-web/src/test/java/com/sismics/docs/rest/TestDocumentResource.java index 19c20905..07c41b6d 100644 --- a/docs-web/src/test/java/com/sismics/docs/rest/TestDocumentResource.java +++ b/docs-web/src/test/java/com/sismics/docs/rest/TestDocumentResource.java @@ -216,7 +216,7 @@ public class TestDocumentResource extends BaseJerseyTest { Assert.assertEquals(2, searchDocuments("lang:eng", document1Token)); Assert.assertEquals(1, searchDocuments("mime:image/png", document1Token)); Assert.assertEquals(0, searchDocuments("mime:empty/void", document1Token)); - Assert.assertEquals(1, searchDocuments("after:2010 before:2040-08 tag:super shared:yes lang:eng title description full:uranium", document1Token)); + Assert.assertEquals(1, searchDocuments("after:2010 before:2040-08 tag:super shared:yes lang:eng simple:title simple:description full:uranium", document1Token)); // Search documents (nothing) Assert.assertEquals(0, searchDocuments("random", document1Token));