在文档中搜索天蓝色文件

时间:2019-02-07 09:04:42

标签: azure file search storage

我有一个天蓝色的帐户,在这个帐户中有一个存储帐户。 我想在此存储中的文件夹内的文档中进行搜索。 我已经看到可以在blob中完成此操作,但是在blob中无法创建文件夹或任何结构。 简而言之,如何在azure存储中的文件中进行搜索?

3 个答案:

答案 0 :(得分:1)

Azure Search被设计为完全做到这一点。

您将其指向您的Blob存储,让它为文件建立索引,然后使用API​​来查询文件。

就文件夹而言,在Azure Storage Gen 2中,您可以具有模仿文件夹的分层名称空间。或者,您可以使用Azure Data Lake存储,该存储具有文件夹的概念,但是首选文件夹。

可以找到here进行Azure搜索的快速入门,并且可以试用一个免费层(仅限3个索引和10,000个文档)。

答案 1 :(得分:0)

正如Murray所提到的,Azure搜索正是您要寻找的。

您可以在这里找到一个不错的教程:Azure Search Code walkthrough

答案 2 :(得分:0)

好,解决了。

    URL url =SearchServiceHelper.getSearchURL( URLEncoder.encode("searchstring", java.nio.charset.StandardCharsets.UTF_8.toString()));

            HttpsURLConnection connection = SearchServiceHelper.getHttpURLConnection(url, "GET", "KEY");
            JsonReader jsonReader = Json.createReader(connection.getInputStream());
            JsonObject jsonObject = jsonReader.readObject();
            JsonArray jsonArray = jsonObject.getJsonArray("value");
            jsonReader.close();
            System.out.println(connection.getResponseMessage());
            System.out.println(connection.getResponseCode());
            System.out.println(url);

            JsonArray jsonResult = jsonArray;
            List<Structure> docList = jsonToDocument(jsonResult);

-------------------
Where :
private static final String _searchURL = "https://%s.search.windows.net/indexes/%s/docs?api-version=%s&search=%s&searchMode=all";
public static URL getSearchURL( String query) throws MalformedURLException
    {
        Formatter strFormatter = new Formatter();
        strFormatter.format(_searchURL, "searchservicenameonly", "index", "api-version", query);
        String url = strFormatter.out().toString();
        strFormatter.close();

        return new URL(url);
    }
---------------------------------------------------------------------
public static HttpsURLConnection getHttpURLConnection(URL url, String method, String apiKey) throws IOException
    {
        HttpsURLConnection connection = (HttpsURLConnection) url.openConnection();
        connection.setRequestMethod(method);
        connection.setRequestProperty("Content-Type", "application/json");
        connection.setRequestProperty("api-key", apiKey);

        return connection;
    }

您必须创建一个结构来保存搜索返回的数据。