/* SPDX-License-Identifier: Apache-2.0
*
* The OpenSearch Contributors require contributions made to
* this file be licensed under the Apache-2.0 license or a
* compatible open source license.
*/
/*
* Modifications Copyright OpenSearch Contributors. See
* GitHub history for details.
*
* Licensed to Elasticsearch B.V. under one or more contributor
* license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright
* ownership. Elasticsearch B.V. licenses this file to you under
* the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
using System.Runtime.Serialization;
using OpenSearch.Net.Utf8Json;
namespace OpenSearch.Client
{
[InterfaceDataContract]
[JsonFormatter(typeof(QueryContainerInterfaceFormatter))]
public interface IQueryContainer
{
[DataMember(Name ="bool")]
IBoolQuery Bool { get; set; }
[DataMember(Name ="boosting")]
IBoostingQuery Boosting { get; set; }
[DataMember(Name ="constant_score")]
IConstantScoreQuery ConstantScore { get; set; }
[DataMember(Name ="dis_max")]
IDisMaxQuery DisMax { get; set; }
[DataMember(Name ="exists")]
IExistsQuery Exists { get; set; }
[DataMember(Name ="function_score")]
IFunctionScoreQuery FunctionScore { get; set; }
[DataMember(Name ="fuzzy")]
IFuzzyQuery Fuzzy { get; set; }
[DataMember(Name ="geo_bounding_box")]
IGeoBoundingBoxQuery GeoBoundingBox { get; set; }
[DataMember(Name ="geo_distance")]
IGeoDistanceQuery GeoDistance { get; set; }
[DataMember(Name ="geo_polygon")]
IGeoPolygonQuery GeoPolygon { get; set; }
[DataMember(Name ="geo_shape")]
IGeoShapeQuery GeoShape { get; set; }
[DataMember(Name ="shape")]
IShapeQuery Shape { get; set; }
[DataMember(Name ="has_child")]
IHasChildQuery HasChild { get; set; }
[DataMember(Name ="has_parent")]
IHasParentQuery HasParent { get; set; }
[DataMember(Name ="ids")]
IIdsQuery Ids { get; set; }
[DataMember(Name = "intervals")]
IIntervalsQuery Intervals { get; set; }
[IgnoreDataMember]
bool IsConditionless { get; }
[IgnoreDataMember]
bool IsStrict { get; set; }
[IgnoreDataMember]
bool IsVerbatim { get; set; }
[IgnoreDataMember]
bool IsWritable { get; }
[DataMember(Name ="match")]
IMatchQuery Match { get; set; }
[DataMember(Name ="match_all")]
IMatchAllQuery MatchAll { get; set; }
[DataMember(Name ="match_bool_prefix")]
IMatchBoolPrefixQuery MatchBoolPrefix { get; set; }
[DataMember(Name ="match_none")]
IMatchNoneQuery MatchNone { get; set; }
[DataMember(Name ="match_phrase")]
IMatchPhraseQuery MatchPhrase { get; set; }
[DataMember(Name ="match_phrase_prefix")]
IMatchPhrasePrefixQuery MatchPhrasePrefix { get; set; }
[DataMember(Name ="more_like_this")]
IMoreLikeThisQuery MoreLikeThis { get; set; }
[DataMember(Name ="multi_match")]
IMultiMatchQuery MultiMatch { get; set; }
[DataMember(Name ="nested")]
INestedQuery Nested { get; set; }
[DataMember(Name ="parent_id")]
IParentIdQuery ParentId { get; set; }
[DataMember(Name ="percolate")]
IPercolateQuery Percolate { get; set; }
[DataMember(Name ="prefix")]
IPrefixQuery Prefix { get; set; }
[DataMember(Name ="query_string")]
IQueryStringQuery QueryString { get; set; }
[DataMember(Name ="range")]
IRangeQuery Range { get; set; }
[IgnoreDataMember]
IRawQuery RawQuery { get; set; }
[DataMember(Name ="regexp")]
IRegexpQuery Regexp { get; set; }
[DataMember(Name ="script")]
IScriptQuery Script { get; set; }
///
[DataMember(Name ="script_score")]
IScriptScoreQuery ScriptScore { get; set; }
[DataMember(Name ="simple_query_string")]
ISimpleQueryStringQuery SimpleQueryString { get; set; }
[DataMember(Name ="span_containing")]
ISpanContainingQuery SpanContaining { get; set; }
[DataMember(Name ="field_masking_span")]
ISpanFieldMaskingQuery SpanFieldMasking { get; set; }
[DataMember(Name ="span_first")]
ISpanFirstQuery SpanFirst { get; set; }
[DataMember(Name ="span_multi")]
ISpanMultiTermQuery SpanMultiTerm { get; set; }
[DataMember(Name ="span_near")]
ISpanNearQuery SpanNear { get; set; }
[DataMember(Name ="span_not")]
ISpanNotQuery SpanNot { get; set; }
[DataMember(Name ="span_or")]
ISpanOrQuery SpanOr { get; set; }
[DataMember(Name ="span_term")]
ISpanTermQuery SpanTerm { get; set; }
[DataMember(Name ="span_within")]
ISpanWithinQuery SpanWithin { get; set; }
[DataMember(Name ="term")]
ITermQuery Term { get; set; }
[DataMember(Name ="terms")]
ITermsQuery Terms { get; set; }
[DataMember(Name ="terms_set")]
ITermsSetQuery TermsSet { get; set; }
[DataMember(Name = "wildcard")]
IWildcardQuery Wildcard { get; set; }
///
[DataMember(Name = "rank_feature")]
IRankFeatureQuery RankFeature { get; set; }
///
[DataMember(Name = "distance_feature")]
IDistanceFeatureQuery DistanceFeature { get; set; }
[DataMember(Name = "knn")]
IKnnQuery Knn { get; set; }
void Accept(IQueryVisitor visitor);
}
}