diff --git a/src/applications/project/query/PhabricatorProjectSearchEngine.php b/src/applications/project/query/PhabricatorProjectSearchEngine.php --- a/src/applications/project/query/PhabricatorProjectSearchEngine.php +++ b/src/applications/project/query/PhabricatorProjectSearchEngine.php @@ -22,7 +22,13 @@ return array( id(new PhabricatorSearchTextField()) ->setLabel(pht('Name')) - ->setKey('name'), + ->setKey('name') + ->setDescription( + pht( + '(Deprecated.) Search for projects with a given name or '. + 'hashtag using tokenizer/datasource query matching rules. This '. + 'is deprecated in favor of the more powerful "query" '. + 'constraint.')), id(new PhabricatorSearchStringListField()) ->setLabel(pht('Slugs')) ->setIsHidden(true) diff --git a/src/applications/search/engineextension/PhabricatorFerretSearchEngineExtension.php b/src/applications/search/engineextension/PhabricatorFerretSearchEngineExtension.php --- a/src/applications/search/engineextension/PhabricatorFerretSearchEngineExtension.php +++ b/src/applications/search/engineextension/PhabricatorFerretSearchEngineExtension.php @@ -57,7 +57,10 @@ $fields[] = id(new PhabricatorSearchTextField()) ->setKey('query') ->setLabel(pht('Query')) - ->setDescription(pht('Fulltext search.')); + ->setDescription( + pht( + 'Find objects matching a fulltext search query. See '. + '"Search User Guide" in the documentation for details.')); return $fields; } diff --git a/src/docs/user/userguide/search.diviner b/src/docs/user/userguide/search.diviner --- a/src/docs/user/userguide/search.diviner +++ b/src/docs/user/userguide/search.diviner @@ -138,6 +138,7 @@ - Field search with `title:platypus`. - Filtering out matches with `-platypus`. - Quoted terms with `"platypus attorney"`. + - Matching entire fields with `=platypus`. - Combining features with `title:~"platypus attorney"`. See below for more detail. @@ -173,3 +174,11 @@ **Filtering Matches**: You can remove documents which match certain terms from the result set with `-`. For example: `platypus -mammal`. Documents which match negated terms will be filtered out of the result set. + +**Matching Entire Fields**: If you know the exact name of an object and want +to find only that object, you can use the `=` operator. A query like +`title:"warp drive"` will find a document titled "Warp Drive", but will also +find documents with longer titles, like "Not a Warp Drive". The `=` operator +requires that the entire field match the query exactly, so //only// documents +exactly titled "Warp Drive" will be matched by the query (but note that the +query is still case insensitive).