()
| 59 | } |
| 60 | |
| 61 | pub fn article_schema() -> Arc<Schema> { |
| 62 | Arc::new(Schema::new(vec![ |
| 63 | Field::new("id", DataType::Utf8, false), |
| 64 | Field::new("title", DataType::Utf8, false), |
| 65 | Field::new("content", DataType::Utf8, false), |
| 66 | Field::new("content_en", DataType::Utf8, true), |
| 67 | Field::new("summary", DataType::Utf8, false), |
| 68 | Field::new("detailed_summary", DataType::Utf8, true), |
| 69 | Field::new( |
| 70 | "tags", |
| 71 | DataType::List(Arc::new(Field::new("item", DataType::Utf8, true))), |
| 72 | false, |
| 73 | ), |
| 74 | Field::new("category", DataType::Utf8, false), |
| 75 | Field::new("author", DataType::Utf8, false), |
| 76 | Field::new("date", DataType::Utf8, false), |
| 77 | Field::new("featured_image", DataType::Utf8, true), |
| 78 | Field::new("read_time", DataType::Int32, false), |
| 79 | Field::new("article_kind", DataType::Utf8, true), |
| 80 | Field::new("source_url", DataType::Utf8, true), |
| 81 | Field::new("interactive_page_id", DataType::Utf8, true), |
| 82 | Field::new( |
| 83 | "vector_en", |
| 84 | DataType::FixedSizeList( |
| 85 | Arc::new(Field::new("item", DataType::Float32, false)), |
| 86 | TEXT_VECTOR_DIM_EN as i32, |
| 87 | ), |
| 88 | true, |
| 89 | ), |
| 90 | Field::new( |
| 91 | "vector_zh", |
| 92 | DataType::FixedSizeList( |
| 93 | Arc::new(Field::new("item", DataType::Float32, false)), |
| 94 | TEXT_VECTOR_DIM_ZH as i32, |
| 95 | ), |
| 96 | true, |
| 97 | ), |
| 98 | Field::new("created_at", DataType::Timestamp(TimeUnit::Millisecond, None), false), |
| 99 | Field::new("updated_at", DataType::Timestamp(TimeUnit::Millisecond, None), false), |
| 100 | ])) |
| 101 | } |
| 102 | |
| 103 | pub fn image_schema() -> Arc<Schema> { |
| 104 | Arc::new(Schema::new(vec![ |
no outgoing calls