Ошибка поиска имен файлов с пробелами в Cloudera Navigator API

У нас возникла проблема при попытке использовать API Cloudera Navigator для получения информации об именах файлов, в которых есть пробелы. Мы можем искать эти имена файлов в пользовательском интерфейсе Navigator, заключая имя файла в кавычки. Но до сих пор мы не смогли понять, как это сделать с помощью API.

Мы пробовали с оригинальным именем файла:

http://navigator.url.com:7187/api/v9/entities/?query=parentPath:(/ some / parent / path) И originalName:(Prov Layout-Others.txt)

Мы попытались заменить пробел на "% 20":

http://navigator.url.com:7187/api/v9/entities/?query=parentPath:(/ some / parent / path) И originalName:(Prov%20Layout-Others.txt)

Мы попытались заключить имя файла в кавычки внутри URL:

http://navigator.url.com:7187/api/v9/entities/?query=parentPath:(/ some / parent / path) И originalName:("ProvLayout-Others.txt")

Пока ничего не получилось. Кто-нибудь еще сталкивался с этой проблемой и, если да, есть ли решение?

Благодарю.

2 ответа

Решение

Оказывается, способ поиска имен файлов с пробелами в них заключается в замене пробелов звездочками (*) при создании URL-адреса REST API.

Для API v9 вы можете использовать +(query1) +(query2) или%2B(query1)%20%2B(query2) для нескольких запросов.

Для пробелов вы можете использовать "% 20". Если вы используете звездочки, между вашими ключевыми словами будет стоять любой символ (а не только пробелы). Например, "идентификатор клиента *" возвращает "национальный идентификатор клиента", а также просто "идентификатор клиента".

Это будет хорошо работать для поиска "Идентификатор клиента" в описании и /default/* в родительском пути

url:7187/?query=%2B(description%3A"Customer%20ID")%20%2B(parentPath%3A%5C%2Fdefault%5C%2F*)&facets=%7B%7D
Другие вопросы по тегам