What the documents look like
Brand outlet discount operations clear out-of-season inventory without maintaining a new-arrival full-price image. The daily material set is discount approvals, slow-moving inventory lists, price tags, and gross margin worksheets. These documents carry discount percentages, effective date ranges, SKU identifiers, and multilingual price tag text. Parsing and chunking must keep the binding between a condition and the content it constrains, so a discount ceiling stays attached to the SKU scope and the approval period it governs.
Cross-border material can present the same discount approval in a Chinese version and a foreign-language version. Retrieval then needs cross-language semantic matching while preserving an exact-match path for identifiers. Updates follow a weekly and monthly rhythm; this page does not derive batch synchronization or real-time triggers from that rhythm.
A hypothetical paper exercise sample is used throughout. The discount approval source text reads: "This approval applies to the East China outlet store March 2025 slow-moving SKU clearance, discount ceiling 40 percent, approver Wang Moumou, status is pending review." The price tag source text reads: "Price tag number OL-2025-0312, corresponding SKU as above, effective date 2025-03-15." The draft sentence to be judged reads: "The approval has been granted and the price tag can be executed on March 15." The source text records only a pending review status and no approval record.
Constraints at the document chunking step
FastGPT uses the library as the smallest search unit. A collection serves classification management and does not affect search results. Original data is stored in the MongoDB dataset.datas table, where the indexes field records corresponding vector IDs, so one data group can map to multiple vectors. Vectors are stored in the PostgresSQL vector field with an HNSW index. Retrieval recalls vectors first, then looks up original data by vector ID; when the same data group is hit, results merge and the vector score takes the highest value. Multi-vector mapping eases the tension between content length and semantic richness, and one data block can carry several index annotations.
Hybrid search merges semantic and full-text results through RRF. Reranking requires a ReRank model and must be enabled according to settings. The citation limit is measured in tokens. Minimum relevance takes effect only under semantic search or result reranking, and it is a filter threshold rather than a permission or entity isolation mechanism. Image retrieval requires image input and the corresponding model capability; the optional paths in the overall search flow do not all execute on every request.
For the sample above, chunking must keep the discount ceiling, the applicable store and period, the SKU scope, and the pending review status inside a segment that can be traced back to the source. The approval and the price tag are separate materials and should be indexed separately so that a price tag number query and a discount condition query do not overwrite each other's context.
Configuration and implementation checks
| Configuration item | Hypothetical starting point for this exercise | Reason and comparison object |
|---|---|---|
| Search mode | Hybrid search | Discount percentages rely on semantic recall and SKU identifiers rely on full-text recall; compare pure semantic against pure full-text recall differences |
| Citation limit | Hypothetical starting value 2000 tokens | The approval source is short; compare with 1000 tokens to see whether the complete condition sentence is covered |
| Minimum relevance | Hypothetical starting value 0.3 | Compare with 0.5 to observe whether segments carrying the discount condition are filtered out |
| Question optimization | Not enabled for this exercise | The question is single-turn and explicit; compare with the added latency after enabling |
| Result reranking | Enabled when a ReRank model is available | Compare candidate ordering with and without reranking |
| Data block indexes | Annotated separately for approval and price tag | Compare single-index and multi-index effects on identifier hits |
These values are exercise starting points, not official defaults. Each is compared against a stated alternative so that the effect on the sample can be observed.
Three common errors
- Treating "pending review" as approved. Input is the approval source text above plus the draft sentence. Compare the status field values. The source records pending review while the draft sentence states the approval has been granted. This is an unsupported judgment, and the missing approval record remains missing.
- Treating a retrieval hit as authorized execution. Input is a price tag retrieval request. Compare the retrieval result against execution authority. A returned segment does not constitute authorization for the price tag to be executed, and no downstream business action follows from a match.
- Treating a successful upload as an updated index. Input is a retrieval request after material changes. Compare the actual training and index state against the upload event. Upload completion does not mean retrieval has been updated, and the index state remains to be verified.
How to verify the setup
- Input the approval source text and the draft sentence, then compare the status field. The draft sentence is supported only when the source shows an approval record and the subject, period, and field all agree. Otherwise record the item as pending verification. A pending request is not an approval.
- Input the SKU identifier "OL-2025-0312" for full-text search and compare whether the returned segment contains that identifier together with the corresponding discount condition. When no hit appears, record the gap and do not claim that an unrelated query is necessarily empty. A paper input of an empty array can be used to check downstream design without asserting that a fabricated rule returns an empty result.
- Input the Chinese question "East China outlet store March clearance discount ceiling" and compare whether the semantic recall segment contains 40 percent and the applicable period. At the same time check the vector model identifier. Libraries using different vector models are not associated together; verify the identifier and exclude non-matching ones rather than running a cross-model search to compare missed recalls.
Across all three checks, relevance scores do not perform permission or entity isolation, and retrieval is not authorization. Any system error code or automatic business action not stated in the source remains unknown and is not asserted.