0

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

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

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

4

3 回答 3

1

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

Git Hub 项目

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

Nuget 包

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

于 2017-05-08T20:56:19.017 回答
0

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

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

于 2012-08-11T07:00:40.010 回答
0

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

代码示例将是:

var solr = ServiceLocator.Current.GetInstance<ISolrOperations<Product>>();
IQueryable<Product> solrLinq = solr.AsQuerable()
Product[] result = solrLinq.Where(p => p.Price > 12).ToArray();
于 2018-08-03T18:06:24.947 回答