首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用.net-core对Windows search platform执行文件搜索?

如何使用.net-core对Windows search platform执行文件搜索?
EN

Stack Overflow用户
提问于 2018-10-08 23:22:15
回答 1查看 89关注 0票数 0

我需要按文件名和内容搜索文件。当前实现使用Ole DB连接到windows search。但据我所知,Ole db不会在.net核心中实现。我想我应该使用像Lucene .So这样的解决方案,我需要建议,如何至少从.net-core访问windows search,或者如何在没有windows search的情况下以跨平台的方式实现这一点。

EN

回答 1

Stack Overflow用户

发布于 2018-10-10 05:11:44

你基本上有几个选择。您可以获得Windows7SDK中的FTQuery工具(FTQuery.exe),并使用System.Diagnostics中的Process类通过解析标准输出来获得结果。

或者,您可以创建一个单独的ASP.NET Web API2项目来充当Windows Search和.NET核心之间的桥梁,在控制器中使用以下代码作为操作。

代码语言:javascript
复制
public async Task<IHttpActionResult> Post()
{
    var data = new ArrayList();

    var conn = new OleDbConnection("Provider=Search.CollatorDSO;Extended Properties='Application=Windows'");
    await conn.OpenAsync();

    string sql = await Request.Content.ReadAsStringAsync();
    var cmd = new OleDbCommand(sql, conn);

    using (var rdr = await cmd.ExecuteReaderAsync(CommandBehavior.CloseConnection))
    {
        while (await rdr.ReadAsync())
        {
            var row = new Dictionary<string, object>();
            for (int i = 0; i < rdr.FieldCount; i++)
            {
                if (!rdr.IsDBNull(i))
                    row.Add(rdr.GetName(i), rdr.GetValue(i));
            }
            data.Add(row);
        }
    }

    return Json(data);
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52705447

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档