From: Peter Amstutz Date: Wed, 16 Mar 2022 21:12:56 +0000 (-0400) Subject: 18767: Add API documentation about searching for file/directory names. X-Git-Tag: 2.4.0~35^2~1 X-Git-Url: https://git.arvados.org/arvados.git/commitdiff_plain/84471cca8804a3360f4eb49cc889cb2ade989bbd 18767: Add API documentation about searching for file/directory names. Arvados-DCO-1.1-Signed-off-by: Peter Amstutz --- diff --git a/doc/api/methods/collections.html.textile.liquid b/doc/api/methods/collections.html.textile.liquid index 5ff8d529f8..cb20693603 100644 --- a/doc/api/methods/collections.html.textile.liquid +++ b/doc/api/methods/collections.html.textile.liquid @@ -55,6 +55,36 @@ Referenced blocks are protected from garbage collection in Keep. Data can be shared with other users via the Arvados permission model. +h3. Searching Collections for names of file or directories + +You can search collections for specific file or directory names (whole or part) using the following filter in a "list":../methods.html#index query. + +
+filters: [["file_names", "ilike", "%sample1234.fastq%"]]
+
+ +Note: @file_names@ is a hidden field used for indexing. It is not returned by any API call. On the client, to get the list of files, you will need to parse the @manifest_text@. + +As of this writing (Arvados 2.4), you can also search for directory paths, but _not_ complete file paths. + +In other words, this will work (when @dir3@ is a directory): + +
+filters: [["file_names", "ilike", "%dir1/dir2/dir3%"]]
+
+ +However, this will _not_ return the desired results (where @sample1234.fastq@ is a file): + +
+filters: [["file_names", "ilike", "%dir1/dir2/dir3/sample1234.fastq%"]]
+
+ +As a workaround, you can search for both the directory path and file name separately, and then filter on the client side. + +
+filters: [["file_names", "ilike", "%dir1/dir2/dir3%"], ["file_names", "ilike", "%sample1234.fastq%"]]
+
+ h2. Methods See "Common resource methods":{{site.baseurl}}/api/methods.html for more information about @create@, @delete@, @get@, @list@, and @update@.