jack 3 mēneši atpakaļ
vecāks
revīzija
1ed701eb16
1 mainītis faili ar 16 papildinājumiem un 21 dzēšanām
  1. 16 21
      app/services/file/impl/r2r_file.py

+ 16 - 21
app/services/file/impl/r2r_file.py

@@ -78,34 +78,28 @@ class R2RFileService(OSSFileService):
         files = {}
         file_key = {"$in": []}
         document_id = {"$in": []}
-        # {"$and": {"$document_id": ..., "collection_ids": ...}}
-        filters = {"$or": {}}
+        filters = {"$or": []}
         print(
             "ggggggggggggggggggggggggggggggggggggddddddddddddddddddccccccccccccccccccccc"
         )
-        if file_keys:
-            for key in file_keys:
-                if len(key) == 36:
-                    document_id["$in"].append(key)
-                else:
-                    file_key["$in"].append(key)
-
+        for key in file_keys:
+            if len(key) == 36:
+                document_id["$in"].append(key)
+            else:
+                file_key["$in"].append(key)
         if len(document_id["$in"]) > 0:
-            filters["$or"][
-                "document_id"
-            ] = document_id  #  .append({"document_id": document_id})
+            filters["$or"].append({"document_id": document_id})
         if len(file_key["$in"]) > 0:
-            filters["$or"]["file_key"] = file_key  # .append({"file_key": file_key})
+            filters["$or"].append({"file_key": file_key})
 
         print(file_key)
         print(document_id)
         print(filters)
         print(folder_keys)
-        if folder_keys and len(folder_keys) > 0:
-            filters["$or"]["collection_ids"] = {"$in": folder_keys}
-            # .append(
-            #    {"collection_ids": {"$in": folder_keys}}
-            # )  ## {"$or": [filters, {"collection_ids": {"$in": folder_keys}}]}
+        if folder_keys:
+            filters["$or"].append(
+                {"collection_ids": {"$in": folder_keys}}
+            )  ## {"$or": [filters, {"collection_ids": {"$in": folder_keys}}]}
         ##filters["collection_ids"] = {"$overlap": folder_keys}
         ## {"$and": {"$document_id": ..., "collection_ids": ...}}
         """
@@ -116,9 +110,9 @@ class R2RFileService(OSSFileService):
             ]
         }
         """
-        # print(filters)
-        # if len(filters["$or"]) < 2:
-        #    filters = filters["$or"][0]
+        print(filters)
+        if len(filters["$or"]) < 2:
+            filters = filters["$or"][0]
         print("filtersfiltersfiltersfiltersfiltersfiltersfiltersfiltersfiltersfilters")
         print(filters)
         """
@@ -136,6 +130,7 @@ class R2RFileService(OSSFileService):
         search_results = r2r.search(query, filters=filters)
         if not search_results:
             return files
+
         for doc in search_results:
             file_key = doc.get("metadata").get("file_key")
             text = doc.get("text")