User次のようなクラスがあったとします。
public class User
{
public bool IsActive {get;set;}
public string[] Tags{get;set;}
public string Description {get;set;}
}
RavenDB を使用して、次の条件に一致する一連のユーザーを検索したいと考えています。
IsActive=真Tags' hello ' と ' world 'の両方を含むDescriptionには次のフレーズ「abject failure」があります
私は Lucene Query 構文を調査し、いくつかの作業を行いましたが、テキストベースの lucene クエリ文字列を作成するために多くの組み合わせ文字列を構築すると、すべてがひどく不格好に感じられます。非常に臭いので、ここにコードを掲載するのをためらっています。
私がやりたいことは、おそらくこのFilter RavenDB Search ResultsSearchのように、説明とタグの Lucene を送信Whereし、IsActive フィールドの句でフィルター処理することだと思います。しかし、私は迷子になりました。
私は最新の公式リリース (960) を使用しているので、これ以降のグルーヴィーなものはすべてまだ利用できません。たとえば、960 は拡張機能をサポートしていないように見えるため、このソリューションは禁止されています。.As<T>()
質問
組み合わせた検索を実行するために必要なインデックスとクエリを作成するにはどうすればよいですか。
- 単一の制約、例えば
IsActive - コレクション制約、例えば
Tags - フリーテキストの制約など
Description
Userオブジェクトの厳密に型指定されたリストを返すには?
コード例やポインタをありがとう。