forked from zovos/vk_hackathon
Fix 500 error: replace datetime_range with range in Qdrant filter
qdrant-client 1.15.1 does not support datetime_range in FieldCondition. Use models.Range with string comparison (same as Lotus reference). Also wrap date filter in try-except to prevent crash on bad date format. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
7247248b27
commit
f9f1b332bd
1 changed files with 14 additions and 8 deletions
|
|
@ -18,15 +18,21 @@ def _build_filter(question: Question) -> models.Filter | None:
|
|||
must_conditions: list[models.Condition] = []
|
||||
|
||||
if question.date_range:
|
||||
must_conditions.append(
|
||||
models.FieldCondition(
|
||||
key="metadata.start",
|
||||
datetime_range=models.DatetimeRange(
|
||||
gte=question.date_range.from_,
|
||||
lte=question.date_range.to,
|
||||
),
|
||||
try:
|
||||
must_conditions.append(
|
||||
models.FieldCondition(
|
||||
key="metadata.end",
|
||||
range=models.Range(gte=question.date_range.from_),
|
||||
)
|
||||
)
|
||||
)
|
||||
must_conditions.append(
|
||||
models.FieldCondition(
|
||||
key="metadata.start",
|
||||
range=models.Range(lte=question.date_range.to),
|
||||
)
|
||||
)
|
||||
except Exception as e:
|
||||
logger.warning("Date filter failed: %s", e)
|
||||
|
||||
if question.asker:
|
||||
must_conditions.append(
|
||||
|
|
|
|||
Loading…
Reference in a new issue