2
說我有一個User
類是這樣的:我應該如何過濾RavenDB Lucene搜索的結果?
public class User
{
public bool IsActive {get;set;}
public string[] Tags{get;set;}
public string Description {get;set;}
}
我想用RavenDB來搜索的一組用戶相匹配下列條件的:
IsActive
= 真正Tags
同時包含'你好'和'世界'Description
具有以下那句「悲慘的失敗」
我已經研究了Lucene的查詢語法,我甚至得到了一些東西的工作,但是這一切都感覺不堪沉悶,有很多組合串建設創造一個基於文本的lucene查詢字符串。我不願意把我的代碼放在這裏,因爲它很臭。
我想我想這樣做提交一個Lucene Search
的說明和標籤,然後將其過濾與isActive域一個Where
條款,或許這樣Filter RavenDB Search Results。但我迷路了。
我使用的是最新的官方版本(960),所以所有在這之後的常規東西還沒有提供給我。例如,由於960不支持.As<T>()
擴展名,因此this solution是過時的。
問題
如何構造所需索引和查詢執行,結合了搜索:
- 一個約束,如
IsActive
- 集合約束,例如
Tags
- 自由文本約束,例如
Description
返回User
對象的強類型列表?
感謝您的任何代碼示例或指針。