kgrag/app_pkg/examples/text_match.py
2026-07-29 18:10:19 +08:00

57 lines
1.6 KiB
Python

from pymilvus import (
connections,
utility,
FieldSchema,
CollectionSchema,
DataType,
Collection,
MilvusClient,
db,
Function,
FunctionType,
AnnSearchRequest,
WeightedRanker
)
import os
class Milvus_Database:
def __init__(self, user=os.getenv("Milvus_USER", "root"), password=os.getenv("Milvus_PASSWORD", "Milvus"), uri=os.getenv("Milvus_URI")):
self.client = MilvusClient(
uri="http://172.18.30.165:19530",
token=f"{user}:{password}"
)
def search_resource(self, collection_name, database_name,resource):
self.client.using_database(db_name=database_name)
iterator = self.client.query_iterator(
collection_name=collection_name,
batch_size=5,
filter=f"resource like \"{resource}\"",
output_fields=["text","resource"],
)
results = []
while True:
result = iterator.next()
if not result:
iterator.close()
break
print(result)
results += result
return results
# res = self.client.query(
# collection_name=collection_name,
# filter=f"resource like \"{resource}\"",
# output_fields=["resource"],
# limit=None # 先限制数量测试
# )
# return res
if __name__ == "__main__":
db = Milvus_Database()
res = db.search_resource("DockerTest", database_name="XIAN",resource="测试.pdf")
for i,re in enumerate(res):
print(i)
# print(res)