query_iterator()
This operation conducts a scalar filtering with a specified boolean expression.
Request syntax{#request-syntax}
def query_iterator(
    self,
    collection_name: str,
    batch_size: Optional[int] = 1000,
    limit: Optional[int] = UNLIMITED,
    filter: Optional[str] = "",
    output_fields: Optional[List[str]] = None,
    partition_names: Optional[List[str]] = None,
    timeout: Optional[float] = None,
    **kwargs,
) -> List[dict]
PARAMETERS:
- collection_name (str) - - [REQUIRED] - The name of an existing collection. 
- batch_size (int[]) - - The number of entities to return per iteration. The value defaults to - 1000.
- filter (str) - - [REQUIRED] - A scalar filtering condition to filter matching entities. - You can set this parameter to an empty string to skip scalar filtering. To build a scalar filtering condition, refer to Boolean Expression Rules. 
- output_fields (list[str] | None) - - A list of field names to include in each entity in return. - The value defaults to None. - Setting this as - output_fields=[“*”]outputs all fields.
- Setting this as - output_fields=["count(*)"]outputs the loaded entities that match the conditions specified in the filter argument.
 
- timeout (float | None) - - The timeout duration for this operation. Setting this to None indicates that this operation timeouts when any response arrives or any error occurs. 
- partition_names (list[str] | None) - - A list of partition names. - The value defaults to None. If specified, only the specified partitions are involved in queries. 
- kwargs - - consistency_level (str | int) - - The consistency level of the target collection. - The value defaults to the one specified when you create the current collection, with options of Strong (0), Bounded (1), Session (2), and Eventually (3). - What is consistency level? - Consistency in a distributed database specifically refers to the property that ensures every node or replica has the same view of data when writing or reading data at a given time. - Zilliz Cloud provides three consistency levels: Strong, Bounded Staleness, and Eventually, with Bounded Staleness set as the default. - You can easily tune the consistency level when conducting a vector similarity search or query to make it best suit your application. 
- guarantee_timestamp (int) - - A valid timestamp. - If this parameter is set, executes the query only if all entities inserted before this timestamp are visible to query nodes. - This parameter is valid when the default consistency level applies. 
- graceful_time (int) - - A period of time in seconds. - The value defaults to 5. If this parameter is set, calculates the guarantee timestamp by subtracting this from the current timestamp. - This parameter is valid when a consistency level other than the default one applies. 
- offset (int) - - The number of records to skip in the query result. - You can use this parameter in combination with - limitto enable pagination.- The sum of this value and - limitshould be less than 16,384.
- limit (int) - - The number of records to return in the query result. - You can use this parameter in combination with - offsetto enable pagination.- The sum of this value and - offsetshould be less than 16,384.
 
RETURN TYPE:
list[dict]
RETURNS:
A list of dictionaries with each dictionary representing a queried entity.
If the number of returned entities is less than expected, duplicate entities may exist in your collection.
EXCEPTIONS:
- MilvusException - This exception will be raised when any error occurs during this operation. 
- DataTypeNotMatchException - This exception will be raised when a parameter value doesn’t match the required data type. 
Examples{#examples}
from pymilvus import MilvusClient
# 1. Set up a milvus client
client = MilvusClient(
    uri="https://inxx-xxxxxxxxxxxx.api.gcp-us-west1.zillizcloud.com:19530",
    token="user:password"
)
# 2. Create a collection and a partition
client.create_collection(
    collection_name="test_collection",
    dimension=5
)
client.create_partition(
    collection_name="test_collection",
    partition_name="partitionA"
)
# 3. Insert data
client.insert(
    collection_name="test_collection",
    data=[
         {"id": 0, "vector": [0.3580376395471989, -0.6023495712049978, 0.18414012509913835, -0.26286205330961354, 0.9029438446296592], "color": "pink_8682"},
         {"id": 1, "vector": [0.19886812562848388, 0.06023560599112088, 0.6976963061752597, 0.2614474506242501, 0.838729485096104], "color": "red_7025"},
         {"id": 2, "vector": [0.43742130801983836, -0.5597502546264526, 0.6457887650909682, 0.7894058910881185, 0.20785793220625592], "color": "orange_6781"},
         {"id": 3, "vector": [0.3172005263489739, 0.9719044792798428, -0.36981146090600725, -0.4860894583077995, 0.95791889146345], "color": "pink_9298"},
         {"id": 4, "vector": [0.4452349528804562, -0.8757026943054742, 0.8220779437047674, 0.46406290649483184, 0.30337481143159106], "color": "red_4794"},
         {"id": 5, "vector": [0.985825131989184, -0.8144651566660419, 0.6299267002202009, 0.1206906911183383, -0.1446277761879955], "color": "yellow_4222"},
         {"id": 6, "vector": [0.8371977790571115, -0.015764369584852833, -0.31062937026679327, -0.562666951622192, -0.8984947637863987], "color": "red_9392"},
         {"id": 7, "vector": [-0.33445148015177995, -0.2567135004164067, 0.8987539745369246, 0.9402995886420709, 0.5378064918413052], "color": "grey_8510"},
         {"id": 8, "vector": [0.39524717779832685, 0.4000257286739164, -0.5890507376891594, -0.8650502298996872, -0.6140360785406336], "color": "white_9381"},
         {"id": 9, "vector": [0.5718280481994695, 0.24070317428066512, -0.3737913482606834, -0.06726932177492717, -0.6980531615588608], "color": "purple_4976"}
     ],
)
# {'insert_count': 10}
# 4. Conduct queries with iterator
res = client.query_iterator(
    collection_name="test_collection",
    filter="",
    limit=5,
) 
while True:
    result = iterator.next()
    if not result:
        iterator.close()
        break
    print(result)
    results += result