Solr - 如何使用 C# 代码从 SolrNet API 触发 DIH
Solr - How to trigger the DIH from SolrNet API with C# code
Solr 版本:: 6.6.1
SolrNet API 与基于 C# 的应用程序
我希望从 C# 代码调用或触发数据导入处理程序
SolrNet 的帮助。但是我无法在 SolrNet 中找到任何教程
API。我可以轻松地从 solr admin UI 调用 DIH,但我需要从外部应用程序调用它。
请建议代码片段,我如何从基于 C# 的
应用 ?
我认为完全从Solr.NET做是不可能的,简单看一下让我有一个想法,目前只有class负责DIH状态页面,这很好,但不包括初始过程。我认为这最近被丢弃了,因为不需要这个功能。
在 SolrBasicServer
class 你有:
public SolrDIHStatus GetDIHStatus(KeyValuePair<string, string> options) {
var response = connection.Get("/dataimport", null);
var dihstatus = XDocument.Parse(response);
return dihStatusParser.Parse(dihstatus);
}
正在获取 DIH。最有可能的是,您需要扩展这个 class 并做类似的事情(我不是 C# 开发人员,所以对代码不是 100% 确定):
connection.Post("/dataimport?command=full-import", null);
或与 delta-import
命令类似的东西,然后获取状态部分。
如果更新 Solr.NET 不是您的情况,您仍然可以通过使用一些首选 C# 库的常规 HTTP 调用来触发它,然后向 http://host:port/solr/collection-name/dataimport?command=full-import
[= 发出 POST 请求15=]
string solrTargetDIHUrl = "http://localhost:8983/solr/dih/dataimport?command=delta-import";
try
{
using (var solrClient = new HttpClient())
{
var resultObj = solrClient.GetAsync(new Uri(solrTargetDIHUrl)).Result;
Console.ForegroundColor = ConsoleColor.Green;
Console.WriteLine("\t\t Data Import Triggered Successfully !");
Console.ResetColor();
}
}
catch(Exception ex)
{
Console.WriteLine("ERROR in DIH Trigger >>>>> " + ex.Message + "||" + ex.StackTrace);
}
Solr 版本:: 6.6.1
SolrNet API 与基于 C# 的应用程序
我希望从 C# 代码调用或触发数据导入处理程序 SolrNet 的帮助。但是我无法在 SolrNet 中找到任何教程 API。我可以轻松地从 solr admin UI 调用 DIH,但我需要从外部应用程序调用它。
请建议代码片段,我如何从基于 C# 的 应用 ?
我认为完全从Solr.NET做是不可能的,简单看一下让我有一个想法,目前只有class负责DIH状态页面,这很好,但不包括初始过程。我认为这最近被丢弃了,因为不需要这个功能。
在 SolrBasicServer
class 你有:
public SolrDIHStatus GetDIHStatus(KeyValuePair<string, string> options) {
var response = connection.Get("/dataimport", null);
var dihstatus = XDocument.Parse(response);
return dihStatusParser.Parse(dihstatus);
}
正在获取 DIH。最有可能的是,您需要扩展这个 class 并做类似的事情(我不是 C# 开发人员,所以对代码不是 100% 确定):
connection.Post("/dataimport?command=full-import", null);
或与 delta-import
命令类似的东西,然后获取状态部分。
如果更新 Solr.NET 不是您的情况,您仍然可以通过使用一些首选 C# 库的常规 HTTP 调用来触发它,然后向 http://host:port/solr/collection-name/dataimport?command=full-import
[= 发出 POST 请求15=]
string solrTargetDIHUrl = "http://localhost:8983/solr/dih/dataimport?command=delta-import";
try
{
using (var solrClient = new HttpClient())
{
var resultObj = solrClient.GetAsync(new Uri(solrTargetDIHUrl)).Result;
Console.ForegroundColor = ConsoleColor.Green;
Console.WriteLine("\t\t Data Import Triggered Successfully !");
Console.ResetColor();
}
}
catch(Exception ex)
{
Console.WriteLine("ERROR in DIH Trigger >>>>> " + ex.Message + "||" + ex.StackTrace);
}