"& ="を使用して断片的/動的に構築する次のクエリがあります。 Elasticsearch 5.xおよびNest 5.x。 Visual StudioでElasticsearch NEST 5.x動的に構築されたクエリ
QueryContainer qfilter = null;
qfilter = Query<ClassEL>.Term(m => m.OrderID, iOrderID);
qfilter &= Query<ClassEL>
.Range(r => r
.Field(f => f.Distance)
.GreaterThan(100))
&&
.Query<ClassEL>.Term(t => t.Active, true);
var searchDes = new SearchDescriptor<ClassEL>()
.From(0)
.Size(10)
.Query(qfilter); <===== *** ERROR HERE ***
、それが次のエラーメッセージのヒントを示しています
Error: Cannot convert from 'Nest.QueryContainer' to 'System.Func<Nest.QueryContainerDescriptor<ClassEL>, Nest.QueryContainer>'
問題は、私は私が構築されたクエリを受け入れるたSearchDescriptorを得ることができないです。例のオンライン表示Search + Queryは、達成しようとしているものとは異なるものに転記されます。
var response = client.Search<Tweet>(s => s
.From(0)
.Size(10)
.Query(q =>
q.Term(t => t.User, "kimchy")
|| q.Match(mq => mq.Field(f => f.User).Query("nest"))
)
);
EDIT
:アンドレイの答えを使用してだけで正常に動作します以下は、私が にを避けたい一般的な例です。私は戻って検索クエリからの結果を取得しようとすると、問題は、しかし、起こる:List<ClassViewEL> listDocuments = response.Documents.ToList();
Visual Studioは、すぐにエラーとしてそれを強調表示しますが、コンパイル時に問題を持っていません。
エラーCS0570: 'Nest.ISearchResponse.Documentsは' は A IGNORE言語
デバッグとに選択することによってサポートされていません。 boveエラーは正常に動作し、コードは問題なく実行されます。ただし、コンパイル時にエラーが発生すると、コードの展開が妨げられます。このエラーはどのように修正できますか?
解決方法:私のプロジェクト(Newtonsoft.Json.dll)の私の依存関係の1つは、エラーを発生させる古いバージョンをターゲットにしていました。ソリューションをクリーンアップして再構築すると、それが修正されます。
ような質問の最後に私の編集を参照してください。あなたは同じバグに遭遇しましたか? – invulnarable27
これはコンパイルに関する別の質問です。私はそのような問題はないが、ここで議論されている(https://stackoverflow.com/questions/5575076/c-sharp-error-is-not-supported-by-the-language-after-migration- to-net4)。助けてくれるかもしれない –
それはまさに問題だった、正しい方向に向いてくれてありがとう – invulnarable27