推送文档(blob)以进行索引 - Azure 搜索
Pushing documents(blobs) for indexing - Azure Search
我已经在 Azure 搜索 + Azure Blob 存储中工作了一段时间,但我在为上传的新文件的增量更改编制索引时遇到了问题。
将新文件上传到我的 blob 容器后如何刷新索引?上传文件后按照我的步骤操作(我正在使用休息服务来执行这些操作):我正在使用 Microsoft Azure 存储资源管理器 [link]。
通过这个应用程序,我已经将我的新文件上传到之前创建的文件夹中。之后,我使用 Http REST 执行了一个 'Run' 索引器命令,你可以在这个 [link] 中看到。
索引器显示我的新文件已成功添加,但是当我去搜索这个新文件中的内容时却找不到。
请问,有谁知道如何将这个新文件添加到索引中,以及如何通过搜索他的内容找到这个新文件吗?
我正在关注 Microsoft 教程,但对于这个问题,我找不到解决方案。
谢谢大家!
假设一切设置正确,您不需要做任何特别的事情 - 下一次索引器 运行s 将根据其时间表选择新的 blob 并为其编制索引,或者您 运行 按需索引器。
但是,当你运行索引器点播时,Run Indexer
成功完成API意味着对运行索引器的请求已经提交;它 并不意味着 索引器已完成 运行ning。要确定索引器何时实际完成 运行ning(并观察错误,如果有),您应该使用 Indexer Status API。
如果您仍有疑问,请告诉我们您的服务名称和索引器名称,我们可以仔细查看遥测数据。
我将尝试描述如何解决这个问题。
首先,我通过这个命令创建了一个数据源:
POST https://[service name].search.windows.net/datasources?api-version=[api-version]
https://docs.microsoft.com/en-us/rest/api/searchservice/create-data-source.
其次,我创建了索引:
POST https://[servicename].search.windows.net/indexes?api-version=[api-version]
https://docs.microsoft.com/en-us/rest/api/searchservice/create-index
最后,我创建了索引器。这个时候出现问题是因为所有的配置都是在这里设置的
POST https://[service name].search.windows.net/indexers?api-version=[api-version]
https://docs.microsoft.com/en-us/rest/api/searchservice/create-indexer
完成所有这些事情之后。索引开始自动索引所有内容(一旦我们将内容存入 blob 存储)。
关键来了。当您的索引试图将所有 'text' 提取到您的文件中时,当文件类型不是 'indexable' 时可能会出现一些问题。例如,有两个属性必须注意 excluded extensions、indexed extensions。
如果类型不正确,Index 会抛出异常。然后,The Feedback Message(在我看来不太好,就像 'miss lead')说要避免这个错误,你应该将 Indexer 设置为“"dataToExtract" : "storageMetadata"
” .
这个命令意味着你只是试图索引元数据而不是你的文件的内容,那么你不能通过这个搜索和检索。
在那之后,底部的相同消息说要避免这些问题,您应该设置两个属性(谁解决了问题)
"failOnUnprocessableDocument" : false,"failOnUnsupportedContentType" : false
此外,现在一切正常。感谢@Eugene Shvets 的帮助,我希望这对其他人有用。
我已经在 Azure 搜索 + Azure Blob 存储中工作了一段时间,但我在为上传的新文件的增量更改编制索引时遇到了问题。
将新文件上传到我的 blob 容器后如何刷新索引?上传文件后按照我的步骤操作(我正在使用休息服务来执行这些操作):我正在使用 Microsoft Azure 存储资源管理器 [link]。
通过这个应用程序,我已经将我的新文件上传到之前创建的文件夹中。之后,我使用 Http REST 执行了一个 'Run' 索引器命令,你可以在这个 [link] 中看到。
索引器显示我的新文件已成功添加,但是当我去搜索这个新文件中的内容时却找不到。
请问,有谁知道如何将这个新文件添加到索引中,以及如何通过搜索他的内容找到这个新文件吗?
我正在关注 Microsoft 教程,但对于这个问题,我找不到解决方案。
谢谢大家!
假设一切设置正确,您不需要做任何特别的事情 - 下一次索引器 运行s 将根据其时间表选择新的 blob 并为其编制索引,或者您 运行 按需索引器。
但是,当你运行索引器点播时,Run Indexer
成功完成API意味着对运行索引器的请求已经提交;它 并不意味着 索引器已完成 运行ning。要确定索引器何时实际完成 运行ning(并观察错误,如果有),您应该使用 Indexer Status API。
如果您仍有疑问,请告诉我们您的服务名称和索引器名称,我们可以仔细查看遥测数据。
我将尝试描述如何解决这个问题。
首先,我通过这个命令创建了一个数据源:
POST https://[service name].search.windows.net/datasources?api-version=[api-version]
https://docs.microsoft.com/en-us/rest/api/searchservice/create-data-source.
其次,我创建了索引:
POST https://[servicename].search.windows.net/indexes?api-version=[api-version]
https://docs.microsoft.com/en-us/rest/api/searchservice/create-index
最后,我创建了索引器。这个时候出现问题是因为所有的配置都是在这里设置的
POST https://[service name].search.windows.net/indexers?api-version=[api-version]
https://docs.microsoft.com/en-us/rest/api/searchservice/create-indexer
完成所有这些事情之后。索引开始自动索引所有内容(一旦我们将内容存入 blob 存储)。
关键来了。当您的索引试图将所有 'text' 提取到您的文件中时,当文件类型不是 'indexable' 时可能会出现一些问题。例如,有两个属性必须注意 excluded extensions、indexed extensions。
如果类型不正确,Index 会抛出异常。然后,The Feedback Message(在我看来不太好,就像 'miss lead')说要避免这个错误,你应该将 Indexer 设置为“"dataToExtract" : "storageMetadata"
” .
这个命令意味着你只是试图索引元数据而不是你的文件的内容,那么你不能通过这个搜索和检索。
在那之后,底部的相同消息说要避免这些问题,您应该设置两个属性(谁解决了问题)
"failOnUnprocessableDocument" : false,"failOnUnsupportedContentType" : false
此外,现在一切正常。感谢@Eugene Shvets 的帮助,我希望这对其他人有用。