如何批量导入网页
本页包括一个示例powershell脚本,它将在Excel文件中导航,并将每一行信息添加到Interact的企业搜索功能中。
此处仅为示例
你需要
- 交互内部网中的企业搜索记录。这方面的说明可以找到如何设置企业搜索
- 对机器上安装的PowerShell脚本和PowerShell软件有一些基本的了解
- 需要导入的网页在本地PC上是可用的,用户在点击搜索结果时也可以在公司网络上找到
- 在第一行中使用以下值创建CSV文件,然后将url列表和相关数据添加到每行:
它是如何工作的
下面的脚本以以下方式工作
为JSON请求设置交互模板
打开csv文件。
对于每一行(在第一行标题值之后),脚本编译JSON数据,并根据csv文件中的列设置值,将其发送给interaction。
然后脚本将数据发送给交互,将web页面添加到搜索索引中。
如何运行它
- 该脚本有两个参数
- CSV文件的路径
- interactURI -您的Interact安装的url
将应用程序cd运行到脚本文件所在的文件夹中,并执行以下命令
/ NetworkFolders。ps1 -CSVFile "" -interactURI "<您的内部网搜索应用程序>的URL
例如
/ NetworkFolders。ps1 -CSVFile "C:\Files\importwebpages.csv" -interactURI "http://demo.interact.com/api/searchapp/1/document "
需要考虑的事项
如果您正在使用此脚本,则需要记住以下内容
- 这不是交互式交互的官方支持,它是作为一个助手和例子,什么是可能的搜索应用程序
- 没有错误检测或数据验证
- 当以这种方式添加文件时,没有检查重复或删除文档的简单方法
- 这只能作为批量导入工作,将新文件添加到文件系统中不会同时将它们添加到交互中
- 你需要编辑脚本,以包括你自己的API密钥,这是在交互中设置搜索应用程序时添加的
- 如果脚本正在运行,那么对于导入的每个文件,屏幕上都应该显示一条成功消息
这个脚本
在这儿……
Param([string]$CSVFile, [string]$interactURI) #清除Powershell屏幕cls #构建JSON模板,将用于发送到交互$templateJSON = "{"Url"": ""{webpageurl}"", ""Id"": ""{Id}"", "标题"":""{webtitle}"", "IsPublic"": ""{webtitle}"", ""正文"":""{webbody}"", "摘要"":""{webbody}"", "作者"":""{webauthor}"", ""关键词"":""{webkeywords}",}" #指向csv文件$webpageimports=Import-Csv $CSVFile for ($i=0;$i -lt $webpageimports.Count;$i++) {if($webpageimports[$i]. url){#将Body格式化为一个字符串,如果它被视为多行$ bodyformatting = $webpageimports[$i]. url)。用CSV文件中的信息更新JSON模板(每行)$fileJSON = $templateJSON $fileJSON = $fileJSON。替换("{webpageurl}", $webpageimports[$i]. url) $fileJSON = $fileJSON。Replace("{id}", $i) $fileJSON = $fileJSON。替换("{webtitle}", $webpageimports[$i]. title) $fileJSON = $fileJSON。替换("{webauthor}", $webpageimports[$i]. author) $fileJSON = $fileJSON。替换("{websummary}", $webpageimports[$i]. summary) $fileJSON = $fileJSON。替换("{webkeywords}", $webpageimports[$i]. keywords) $fileJSON = $fileJSON。Replace("{webbody}", $ bodyformatting) $fileJSON = $fileJSON。替换("{webispublicic}", $webpageimports[$i].IsPublic) #$fileJSON #发送web页面到交互调用rest方法-Uri $interactURI -Method Put -ContentType "application/json" -Headers @{'X-ApiKey'='';} -Body $fileJSON
更新 12个月前