[英]SolrNet OR query
我正在嘗試查詢ParentId =線程或DataId =線程的記錄。 查詢使我超時。 以下查詢有問題嗎?
var Test = solr.Query(new SolrQueryByField("ParentId", Thread) ||
(new SolrQueryByField("DataId", Thread)));
我不是Solr.Net的專家,但我已將其用於一個項目。 我只能建議您嘗試幾件事。
首先轉到您的SOLR管理員,然后嘗試執行查詢:
(ParentId:"Thread") OR (DataId:"Thread")
如果返回任何結果且未超時,則可以在Solr.Net中使用相同的字符串,例如:
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
您可以執行此操作而無需手動連接字符串:
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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.