v6: Hybrid searchOperator is never sent (bm25_search_operator missing from the request)
まだ誰も着手していません。
評価
- 難易度
- 2/5
- 見積もり時間
- 1〜3時間
- 初心者へのやさしさ
- 78/100
- issue の種類
- バグ
- 明瞭さ
- 明確に書かれている
- 活発さ
- 活発
- 技術スタック
- java
調査の方向性
src/main/java/io/weaviate/client6/v1/api/collections/query/Hybrid.javaを読み、特に177~225行付近のHybrid.protoBuilder()を確認して、オプションの処理をBm25と比較します。searchOperatorがリクエストにどのように追加されるかを追跡し、bm25_search_operatorにand()とor(n)の設定が含まれていることを確認します。これらの値がハイブリッドリクエストで送信されれば完了です。
索引モデルが issue の本文から書いたものです。
説明
Summary
Hybrid.Builder.searchOperator(...) is accepted and stored, but Hybrid.protoBuilder() never writes it to the request, so bm25_search_operator is never sent. The keyword half of a hybrid query always runs with the server's default operator, whatever the caller asked for.
https://github.com/weaviate/java-client/blob/ff57caed14df5778ef715132d618383da559c1cc/src/main/java/io/weaviate/client6/v1/api/collections/query/Hybrid.java#L177-L225 (there is no reference to searchOperator between these lines)
Bm25 handles the same option correctly (searchOperator.appendTo(bm25)).
Reproduction (client 6.3.2, server 1.39.13)
Outgoing messages logged with a ClientInterceptor (Config.grpcChannelOptions):
collection.query.hybrid("zebra quokka", h -> h.alpha(0.5f).searchOperator(SearchOperator.and()));
// sent: query: "zebra quokka" | alpha: 0.5 | alpha_param: 0.5 — no bm25_search_operator
collection.query.bm25("zebra quokka", b -> b.searchOperator(SearchOperator.and()));
// sent: query: "zebra quokka" | search_operator { operator: OPERATOR_AND }
Behaviour confirms it: on a Weaviate Cloud cluster (1.39.13), for one query BM25 matched 2 objects with and() and 382 with or(1). Hybrid with alpha(0) gave a positive keyword score to 381 objects with either operator.
Expected
searchOperator is written to Hybrid.bm25_search_operator, including minimumOrTokensMatch for or(n).
- 主要言語
- Java
- スター
- 34
- フォーク
- 29
- 平均マージ
- 2日 10時間
- マージ済み PR(30日)
- 2
環境構築
このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
weaviate/java-client のほかの issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
weaviate/java-client#631 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
weaviate/java-client#630 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
weaviate/java-client#628 ·
-
v6: ShardReplica.shardName has no @SerializedName, so the shard is always null対応中かも @dudanogueira が 61 日前に担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 90/100
weaviate/java-client#621 ·
-
v6: Shard.vectorQueueLenght is misspelled, so the vector queue length is always 0対応中かも @dudanogueira が 61 日前に担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 84/100
weaviate/java-client#619 ·
weaviate/java-client の issue をすべて見る
似ている issue
-
Area-UIUX Issue-Bug Issue-Easy (good first issue)
難易度 2/5 1〜3時間 初心者へのやさしさ 67/100
TeamAmaze/AmazeFileManager#4769 ·
メンテナーはふだん 7 日以内に返信
-
Expose SManga.memo & SChapter.memo fields in GraphQL APIs to support source-specific client featuresオープンenhancement
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
Suwayomi/Suwayomi-Server#2551 ·
メンテナーはふだん 9 日以内に返信
-
CLI: enforce absolute ADB device paths in file and directory commands対応中かも このイシューにリンクされたプルリクエストがオープン中、またはマージ済みです。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
メンテナーはふだん 1 日以内に返信
-
bug
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
メンテナーはふだん 2 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 62/100
ShaftHQ/SHAFT_ENGINE#7861 ·
メンテナーはふだん 1 日以内に返信