【问题标题】:Where can I find a SolrNet IQueryable provider?在哪里可以找到 SolrNet IQueryable 提供程序?
【发布时间】:2012-08-08 05:55:26
【问题描述】:

我正在使用 WebApi 并希望为我的 SolrNet 资源之一实施 OData。

如果您返回一个 IQueryable,WebApi 支持 OData。所以我需要一个用于 SolrNet 查询的 IQueryable 提供程序。

有没有人知道我如何开始的任何示例代码或一些示例代码?如果没有可用的,我的公司可能会启动一个开源项目来创建它。

【问题讨论】:

标签: odata iqueryable solrnet


【解决方案1】:

您可以使用https://www.nuget.org/packages/SolrNet.Linq nuget 包。它扩展了 SolrNet 功能并兼容 OData 构建 LINQ 表达式的方式,但支持的方法数量有限。

代码示例是:

var solr = ServiceLocator.Current.GetInstance<ISolrOperations<Product>>();
IQueryable<Product> solrLinq = solr.AsQuerable()
Product[] result = solrLinq.Where(p => p.Price > 12).ToArray();

【讨论】:

    【解决方案2】:

    我知道,这个问题已经很老了,但以防有人在 5 年后需要它 - 这是我对 Linq to Solr IQueriable 的实现

    Git Hub 项目

    https://github.com/DanielLavrushin/LinqToSolr/

    Nuget 包

    https://www.nuget.org/packages/LinqToSolr/

    【讨论】:

      【解决方案3】:

      一般来说,IQueryable 与某种 LINQ 提供程序相关联。我不确定社区与 LINQ-to-Solr 提供商的关系。我不知道今天有什么可行的方法,但搜索结果中出现了一些项目,您应该在投入时间创建 LINQ 提供程序之前查看这些项目。

      也就是说,您 - 可以 - 简单地获取事物列表并调用 .AsQueryable() 扩展方法。虽然通过这种方式获取 IQueryable 在技术上很容易,但我假设您可能正在寻找要转换为 Solr 查询的 OData 查询,在这种情况下,前一段就是您想要追求的。

      【讨论】:

      • 我一直在寻找,找不到任何项目。这就是这篇文章的真正目的,就是看看有没有人有任何建议。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-10
      相关资源
      最近更新 更多