From e0e1c13c993b8fac750d11fc45c77307dad1ff31 Mon Sep 17 00:00:00 2001 From: Maximilian Werk Date: Wed, 10 Feb 2021 09:01:24 +0100 Subject: [PATCH] fix: more useful default (#1917) * fix: more useful default * fix: add unit test Co-authored-by: Nan Wang --- jina/drivers/search.py | 2 +- tests/unit/types/document/test_document.py | 13 +++++++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/jina/drivers/search.py b/jina/drivers/search.py index 5f02dc9360690..fe17cdfd56bea 100644 --- a/jina/drivers/search.py +++ b/jina/drivers/search.py @@ -49,7 +49,7 @@ class KVSearchDriver(BaseSearchDriver): - K is the top-k """ - def __init__(self, is_merge: bool = False, traversal_paths: Tuple[str] = ('m'), *args, **kwargs): + def __init__(self, is_merge: bool = True, traversal_paths: Tuple[str] = ('m'), *args, **kwargs): """Construct the driver. :param is_merge: when set to true the retrieved docs are merged into current message using :meth:`MergeFrom`, diff --git a/tests/unit/types/document/test_document.py b/tests/unit/types/document/test_document.py index d2e145c6583ce..582c8a0d70764 100644 --- a/tests/unit/types/document/test_document.py +++ b/tests/unit/types/document/test_document.py @@ -387,3 +387,16 @@ def test_doc_plot(): docs[0].matches.append(docs[3]) assert docs[0]._mermaid_to_url('svg') + + +@pytest.mark.skip('MergeFrom will duplicate embedding.shape if embedding is already there') +def test_mergefrom(): + d1 = Document(text='d1', embedding=np.random.rand(3)) + d1.matches.append(Document(text='m11')) + d1.matches.append(Document(text='m12')) + d2 = Document(text='d2', embedding=np.random.rand(3)) + d2.matches.append(Document(text='m21')) + d1.MergeFrom(d2) + assert len(d1.matches) == 3 + assert d1.text == d2.text + assert d1.embedding.shape == (3, ) \ No newline at end of file