v6: Hybrid searchOperator is never sent (bm25_search_operator missing from the request)
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 2/5
- Tempo estimado
- 1-3 horas
- Facilidade para iniciantes
- 78/100
- Tipo de issue
- Bug
- Clareza
- Claramente especificada
- Status de atividade
- Ativa
- Stack de tecnologia
- java
- Domínio
- api, backend-api-design
Direção de pesquisa
Leia src/main/java/io/weaviate/client6/v1/api/collections/query/Hybrid.java, especialmente Hybrid.protoBuilder() por volta das linhas 177–225, e compare o tratamento das opções com Bm25. Rastreie como searchOperator é anexado à solicitação e verifique se bm25_search_operator inclui as configurações and() e or(n); o trabalho estará concluído quando esses valores forem enviados em solicitações híbridas.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
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).
- Linguagem predominante
- Java
- Estrelas
- 34
- Forks
- 29
- Merge médio
- 2d 10h
- PRs com merge (30d)
- 2
Preparar o ambiente
Este projeto não oferece contêiner de desenvolvimento, Dockerfile nem guia de contribuição, então a configuração fica por sua conta: comece pelo README e veja nosso guia da primeira contribuição para os passos gerais.
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de weaviate/java-client
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
weaviate/java-client#631 ·
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
weaviate/java-client#630 ·
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
weaviate/java-client#628 ·
-
v6: ShardReplica.shardName has no @SerializedName, so the shard is always nullTalvez já em andamento @dudanogueira assumiu há 61 dias. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 90/100
weaviate/java-client#621 ·
-
v6: Shard.vectorQueueLenght is misspelled, so the vector queue length is always 0Talvez já em andamento @dudanogueira assumiu há 61 dias. Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 84/100
weaviate/java-client#619 ·
Todas as issues de weaviate/java-client
Issues semelhantes
-
type: dependency-upgrade
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 61/100
spring-projects/spring-graphql#1556 ·
-
hermes-queue
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 91/100
chrisalunlloyd2-sudo/mindpalace#373 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 76/100
Mantenedores costumam responder em até 1 dia
-
bug priority: lowest
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 62/100
SkriptLang/Skript#8953 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
-
quality-assurance
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 62/100
Paul-Austin-Oswego-CSC480-HCI521/gift-app#228 ·
Mantenedores costumam responder em até 1 dia