Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ public record Hybrid(
QueryOperator near,
FusionType fusionType,
Float maxVectorDistance,
Diversity diversity,
BaseQueryOptions common)
implements QueryOperator, AggregateObjectFilter {

Expand Down Expand Up @@ -53,6 +54,7 @@ public Hybrid(Builder builder) {
builder.near,
builder.fusionType,
builder.maxVectorDistance,
builder.diversity,
builder.baseOptions());
}

Expand All @@ -67,6 +69,7 @@ public static class Builder extends BaseQueryOptions.Builder<Builder, Hybrid> {
QueryOperator near;
FusionType fusionType;
Float maxVectorDistance;
Diversity diversity;

public Builder(Target searchTarget) {
this.searchTarget = searchTarget;
Expand Down Expand Up @@ -143,6 +146,14 @@ public Builder nearText(NearText nearText) {
return this;
}

/**
* Apply diversity selection to the query results.
*/
public Builder diversity(Diversity diversity) {
this.diversity = diversity;
return this;
}

@Override
public final Hybrid build() {
return new Hybrid(this);
Expand Down Expand Up @@ -206,6 +217,10 @@ private WeaviateProtoBaseSearch.Hybrid.Builder protoBuilder() {
hybrid.setTargets(targets);
}

if (diversity != null) {
hybrid.setSelection(diversity.toProto());
}

return hybrid;
}
}
Loading