首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SolrNet或查询

SolrNet或查询
EN

Stack Overflow用户
提问于 2014-01-31 15:26:10
回答 2查看 3.3K关注 0票数 0

我试图查询ParentId =线程或DataId = Thread的记录。查询一直在给我计时。下面的查询有什么问题吗?

代码语言:javascript
复制
var Test = solr.Query(new SolrQueryByField("ParentId", Thread) ||
                     (new SolrQueryByField("DataId", Thread)));
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-01-31 15:35:34

我不是Solr.Net方面的专家,但我用它做了一个项目。我只能建议你尝试几件事。

首先,转到SOLR Admin并尝试执行以下查询:

代码语言:javascript
复制
(ParentId:"Thread") OR (DataId:"Thread")

如果返回任何结果并没有超时,则可以在Solr.Net中使用相同的字符串,如下所示:

代码语言:javascript
复制
string strQuery = "(ParentId:\"Thread\") OR (DataId:\"Thread\")"; 
// or use * for contains instead of double quotes
var query = new SolrQuery(strQuery);
SortOrder sortOrder = new SortOrder("ParentId");
var solrQueryResult = solr.Query(query, new QueryOptions
    {
        Rows = 100, //Max Rows returned
        Start = 0,
        OrderBy = new[] { sortOrder }, //If you want the ordered result
    });
 var list = solrQueryResult.ToList();//if you want list
票数 1
EN

Stack Overflow用户

发布于 2015-05-18 22:09:59

不需要手动连接字符串,就可以做到这一点:

代码语言:javascript
复制
ISolrOperations<User> solr = ServiceLocator.Current.GetInstance<ISolrOperations<User>>();
var users = solr.Query(new SolrQuery("age:20") || new SolrQuery("age:30"), options);

更多信息在这里:https://github.com/mausch/SolrNet/blob/master/Documentation/Querying.md

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

https://stackoverflow.com/questions/21483639

复制
相关文章

相似问题

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