You're viewing an archived version of our docs. Check out our current documentation →

Run a Composition

Runs a query on a single composition and returns matching results.

Usage

Required ACL: search
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
from algoliasearch.composition.client import CompositionClientSync
from json import loads

# In an asynchronous context, you can use CompositionClient instead, which exposes the exact same methods.
client = CompositionClientSync("ALGOLIA_APPLICATION_ID", "ALGOLIA_API_KEY")

response = client.search(
    composition_id="foo",
    request_body={
        "params": {
            "query": "batman",
            "injectedItems": {
                "injectedItem1": {
                    "items": [
                        {
                            "objectID": "my-object-1",
                        },
                        {
                            "objectID": "my-object-2",
                            "metadata": {
                                "my-string": "string",
                                "my-bool": True,
                                "my-number": 42,
                                "my-object": {"sub-key": "sub-value"},
                            },
                        },
                    ],
                },
            },
        },
    },
)