Class AttributeFilter
- java.lang.Object
-
- software.amazon.awssdk.services.kendra.model.AttributeFilter
-
- All Implemented Interfaces:
Serializable,SdkPojo,ToCopyableBuilder<AttributeFilter.Builder,AttributeFilter>
@Generated("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
EqualsTooperation to filter results or documents with "Department" equals to "HR".You can use
AndAllFiltersandAndOrFiltersin combination with each other or with other operations such asEqualsTo. 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
ContainAnywithStringListValue). This example is filtering with a depth of 2.You cannot filter more than a depth of 2, otherwise you receive a
ValidationExceptionexception 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 forAndAllFiltersorOrAllFilters, you receive aValidationExceptionwith the message "AttributeFilter cannot have a length of more than 10".For examples of using
AttributeFilter, see Using document attributes to filter search results.- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interfaceAttributeFilter.Builder
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description List<AttributeFilter>andAllFilters()Performs a logicalANDoperation on all filters that you specify.static AttributeFilter.Builderbuilder()DocumentAttributecontainsAll()Returns true when a document contains all of the specified document attributes/fields.DocumentAttributecontainsAny()Returns true when a document contains any of the specified document attributes/fields.booleanequals(Object obj)booleanequalsBySdkFields(Object obj)DocumentAttributeequalsTo()Performs an equals operation on document attributes/fields and their values.<T> Optional<T>getValueForField(String fieldName, Class<T> clazz)DocumentAttributegreaterThan()Performs a greater than operation on document attributes/fields and their values.DocumentAttributegreaterThanOrEquals()Performs a greater or equals than operation on document attributes/fields and their values.booleanhasAndAllFilters()For responses, this returns true if the service returned a value for the AndAllFilters property.inthashCode()booleanhasOrAllFilters()For responses, this returns true if the service returned a value for the OrAllFilters property.DocumentAttributelessThan()Performs a less than operation on document attributes/fields and their values.DocumentAttributelessThanOrEquals()Performs a less than or equals operation on document attributes/fields and their values.AttributeFilternotFilter()Performs a logicalNOToperation on all filters that you specify.List<AttributeFilter>orAllFilters()Performs a logicalORoperation on all filters that you specify.List<SdkField<?>>sdkFields()static Class<? extends AttributeFilter.Builder>serializableBuilderClass()AttributeFilter.BuildertoBuilder()StringtoString()Returns a string representation of this object.-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface software.amazon.awssdk.utils.builder.ToCopyableBuilder
copy
-
-
-
-
Method Detail
-
hasAndAllFilters
public final boolean hasAndAllFilters()
For responses, this returns true if the service returned a value for the AndAllFilters property. This DOES NOT check that the value is non-empty (for which, you should check theisEmpty()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.
-
andAllFilters
public final List<AttributeFilter> andAllFilters()
Performs a logical
ANDoperation 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.- Returns:
- Performs a logical
ANDoperation on all filters that you specify.
-
hasOrAllFilters
public final boolean hasOrAllFilters()
For responses, this returns true if the service returned a value for the OrAllFilters property. This DOES NOT check that the value is non-empty (for which, you should check theisEmpty()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.
-
orAllFilters
public final List<AttributeFilter> orAllFilters()
Performs a logical
ORoperation 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.- Returns:
- Performs a logical
ORoperation on all filters that you specify.
-
notFilter
public final AttributeFilter notFilter()
Performs a logical
NOToperation on all filters that you specify.- Returns:
- Performs a logical
NOToperation on all filters that you specify.
-
equalsTo
public final DocumentAttribute equalsTo()
Performs an equals operation on document attributes/fields and their values.
- Returns:
- Performs an equals operation on document attributes/fields and their values.
-
containsAll
public final DocumentAttribute containsAll()
Returns true when a document contains all of the specified document attributes/fields. This filter is only applicable to StringListValue .
- Returns:
- Returns true when a document contains all of the specified document attributes/fields. This filter is only applicable to StringListValue.
-
containsAny
public final DocumentAttribute containsAny()
Returns true when a document contains any of the specified document attributes/fields. This filter is only applicable to StringListValue .
- Returns:
- Returns true when a document contains any of the specified document attributes/fields. This filter is only applicable to StringListValue.
-
greaterThan
public final DocumentAttribute greaterThan()
Performs a greater than operation on document attributes/fields and their values. Use with the document attribute type
DateorLong.- Returns:
- Performs a greater than operation on document attributes/fields and their values. Use with the document
attribute type
DateorLong.
-
greaterThanOrEquals
public final DocumentAttribute greaterThanOrEquals()
Performs a greater or equals than operation on document attributes/fields and their values. Use with the document attribute type
DateorLong.- Returns:
- Performs a greater or equals than operation on document attributes/fields and their values. Use with the
document
attribute type
DateorLong.
-
lessThan
public final DocumentAttribute lessThan()
Performs a less than operation on document attributes/fields and their values. Use with the document attribute type
DateorLong.- Returns:
- Performs a less than operation on document attributes/fields and their values. Use with the document
attribute type
DateorLong.
-
lessThanOrEquals
public final DocumentAttribute lessThanOrEquals()
Performs a less than or equals operation on document attributes/fields and their values. Use with the document attribute type
DateorLong.- Returns:
- Performs a less than or equals operation on document attributes/fields and their values. Use with the document
attribute type
DateorLong.
-
toBuilder
public AttributeFilter.Builder toBuilder()
- Specified by:
toBuilderin interfaceToCopyableBuilder<AttributeFilter.Builder,AttributeFilter>
-
builder
public static AttributeFilter.Builder builder()
-
serializableBuilderClass
public static Class<? extends AttributeFilter.Builder> serializableBuilderClass()
-
equalsBySdkFields
public final boolean equalsBySdkFields(Object obj)
- Specified by:
equalsBySdkFieldsin interfaceSdkPojo
-
toString
public final String toString()
Returns a string representation of this object. This is useful for testing and debugging. Sensitive data will be redacted from this string using a placeholder value.
-
-