Fix sorting by referenced_by_count with unmapped_type handling
- Added unmapped_type parameter to referenced_by_count sort - This handles documents that don't have the field yet - Updated ingest.py to include reference fields when indexing: * internal_references * internal_references_count * referenced_by * referenced_by_count - Updated index mapping to include reference fields - Documents without the field will sort as 0 (appear last) Fixes BadRequestError: No mapping found for [referenced_by_count] 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
parent
d616b87701
commit
595b19f7c7
@ -90,6 +90,10 @@ def build_bulk_actions(
|
|||||||
"transcript_full": transcript_full,
|
"transcript_full": transcript_full,
|
||||||
"transcript_secondary_full": doc.get("transcript_secondary_full"),
|
"transcript_secondary_full": doc.get("transcript_secondary_full"),
|
||||||
"transcript_parts": parts,
|
"transcript_parts": parts,
|
||||||
|
"internal_references": doc.get("internal_references", []),
|
||||||
|
"internal_references_count": doc.get("internal_references_count", 0),
|
||||||
|
"referenced_by": doc.get("referenced_by", []),
|
||||||
|
"referenced_by_count": doc.get("referenced_by_count", 0),
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -121,6 +125,10 @@ def ensure_index(client: "Elasticsearch", index: str) -> None:
|
|||||||
"text": {"type": "text"},
|
"text": {"type": "text"},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
"internal_references": {"type": "keyword"},
|
||||||
|
"internal_references_count": {"type": "integer"},
|
||||||
|
"referenced_by": {"type": "keyword"},
|
||||||
|
"referenced_by_count": {"type": "integer"},
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
|
|||||||
@ -400,7 +400,7 @@ def build_query_payload(
|
|||||||
elif sort == "older":
|
elif sort == "older":
|
||||||
body["sort"] = [{"date": {"order": "asc"}}]
|
body["sort"] = [{"date": {"order": "asc"}}]
|
||||||
elif sort == "referenced":
|
elif sort == "referenced":
|
||||||
body["sort"] = [{"referenced_by_count": {"order": "desc"}}]
|
body["sort"] = [{"referenced_by_count": {"order": "desc", "unmapped_type": "long"}}]
|
||||||
return body
|
return body
|
||||||
|
|
||||||
if query:
|
if query:
|
||||||
@ -505,7 +505,7 @@ def build_query_payload(
|
|||||||
elif sort == "older":
|
elif sort == "older":
|
||||||
body["sort"] = [{"date": {"order": "asc"}}]
|
body["sort"] = [{"date": {"order": "asc"}}]
|
||||||
elif sort == "referenced":
|
elif sort == "referenced":
|
||||||
body["sort"] = [{"referenced_by_count": {"order": "desc"}}]
|
body["sort"] = [{"referenced_by_count": {"order": "desc", "unmapped_type": "long"}}]
|
||||||
return body
|
return body
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user