@Generated(value="software.amazon.awssdk:codegen") public final class AttributeFilter extends Object implements SdkPojo, Serializable, ToCopyableBuilder<AttributeFilter.Builder,AttributeFilter>
Filters the search results based on document attributes or fields.
You can filter results using attributes for your particular documents. The attributes must exist in your index. For
example, if your documents include the custom attribute "Department", you can filter documents that belong to the
"HR" department. You would use the EqualsTo operation to filter results or documents with "Department"
equals to "HR".
You can use AndAllFilters and AndOrFilters in combination with each other or with other
operations such as EqualsTo. For example:
AndAllFilters
EqualsTo: "Department", "HR"
AndOrFilters
ContainsAny: "Project Name", ["new hires", "new hiring"]
This example filters results or documents that belong to the HR department and belong to projects that contain
"new hires" or "new hiring" in the project name (must use ContainAny with
StringListValue). This example is filtering with a depth of 2.
You cannot filter more than a depth of 2, otherwise you receive a ValidationException exception with the
message "AttributeFilter cannot have a depth of more than 2." Also, if you use more than 10 attribute filters in a
given list for AndAllFilters or OrAllFilters, you receive a
ValidationException with the message "AttributeFilter cannot have a length of more than 10".
For examples of using AttributeFilter, see Using document attributes to
filter search results.
| Modifier and Type | Class and Description |
|---|---|
static interface |
AttributeFilter.Builder |
| Modifier and Type | Method and Description |
|---|---|
List<AttributeFilter> |
andAllFilters()
Performs a logical
AND operation on all filters that you specify. |
static AttributeFilter.Builder |
builder() |
DocumentAttribute |
containsAll()
Returns true when a document contains all of the specified document attributes/fields.
|
DocumentAttribute |
containsAny()
Returns true when a document contains any of the specified document attributes/fields.
|
boolean |
equals(Object obj) |
boolean |
equalsBySdkFields(Object obj) |
DocumentAttribute |
equalsTo()
Performs an equals operation on document attributes/fields and their values.
|
<T> Optional<T> |
getValueForField(String fieldName,
Class<T> clazz) |
DocumentAttribute |
greaterThan()
Performs a greater than operation on document attributes/fields and their values.
|
DocumentAttribute |
greaterThanOrEquals()
Performs a greater or equals than operation on document attributes/fields and their values.
|
boolean |
hasAndAllFilters()
For responses, this returns true if the service returned a value for the AndAllFilters property.
|
int |
hashCode() |
boolean |
hasOrAllFilters()
For responses, this returns true if the service returned a value for the OrAllFilters property.
|
DocumentAttribute |
lessThan()
Performs a less than operation on document attributes/fields and their values.
|
DocumentAttribute |
lessThanOrEquals()
Performs a less than or equals operation on document attributes/fields and their values.
|
AttributeFilter |
notFilter()
Performs a logical
NOT operation on all filters that you specify. |
List<AttributeFilter> |
orAllFilters()
Performs a logical
OR operation on all filters that you specify. |
List<SdkField<?>> |
sdkFields() |
static Class<? extends AttributeFilter.Builder> |
serializableBuilderClass() |
AttributeFilter.Builder |
toBuilder() |
String |
toString()
Returns a string representation of this object.
|
clone, finalize, getClass, notify, notifyAll, wait, wait, waitcopypublic final boolean hasAndAllFilters()
isEmpty() method on the property).
This is useful because the SDK will never return a null collection or map, but you may need to differentiate
between the service returning nothing (or null) and the service returning an empty collection or map. For
requests, this returns true if a value for the property was specified in the request builder, and false if a
value was not specified.public final List<AttributeFilter> andAllFilters()
Performs a logical AND operation on all filters that you specify.
Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.
This method will never return null. If you would like to know whether the service returned this field (so that
you can differentiate between null and empty), you can use the hasAndAllFilters() method.
AND operation on all filters that you specify.public final boolean hasOrAllFilters()
isEmpty() method on the property).
This is useful because the SDK will never return a null collection or map, but you may need to differentiate
between the service returning nothing (or null) and the service returning an empty collection or map. For
requests, this returns true if a value for the property was specified in the request builder, and false if a
value was not specified.public final List<AttributeFilter> orAllFilters()
Performs a logical OR operation on all filters that you specify.
Attempts to modify the collection returned by this method will result in an UnsupportedOperationException.
This method will never return null. If you would like to know whether the service returned this field (so that
you can differentiate between null and empty), you can use the hasOrAllFilters() method.
OR operation on all filters that you specify.public final AttributeFilter notFilter()
Performs a logical NOT operation on all filters that you specify.
NOT operation on all filters that you specify.public final DocumentAttribute equalsTo()
Performs an equals operation on document attributes/fields and their values.
public final DocumentAttribute containsAll()
Returns true when a document contains all of the specified document attributes/fields. This filter is only applicable to StringListValue .
public final DocumentAttribute containsAny()
Returns true when a document contains any of the specified document attributes/fields. This filter is only applicable to StringListValue .
public final DocumentAttribute greaterThan()
Performs a greater than operation on document attributes/fields and their values. Use with the document attribute
type Date or Long.
Date or Long.public final DocumentAttribute greaterThanOrEquals()
Performs a greater or equals than operation on document attributes/fields and their values. Use with the document attribute
type Date or Long.
Date or Long.public final DocumentAttribute lessThan()
Performs a less than operation on document attributes/fields and their values. Use with the document attribute
type Date or Long.
Date or Long.public final DocumentAttribute lessThanOrEquals()
Performs a less than or equals operation on document attributes/fields and their values. Use with the document attribute
type Date or Long.
Date or Long.public AttributeFilter.Builder toBuilder()
toBuilder in interface ToCopyableBuilder<AttributeFilter.Builder,AttributeFilter>public static AttributeFilter.Builder builder()
public static Class<? extends AttributeFilter.Builder> serializableBuilderClass()
public final boolean equalsBySdkFields(Object obj)
equalsBySdkFields in interface SdkPojopublic final String toString()
Copyright © 2023. All rights reserved.