mirror of
https://github.com/openobserve/openobserve.git
synced 2026-11-05 16:10:43 +00:00
### **PR Type** Enhancement, Tests, Documentation ___ ### **Description** - Apply regex patterns at search time - Map projections to source columns - Integrate enterprise pattern manager - Add tests for projection extraction ___ ### Diagram Walkthrough ```mermaid flowchart LR SearchReq["Search request"] -- "execute query" --> DatafusionPlan["DataFusion logical plan"] DatafusionPlan -- "extract projection mappings" --> ProjMap["ProjectionColumnMapping"] SearchReq -- "fetch hits" --> Hits["Search results (hits)"] ProjMap -- "guide field processing" --> PatternMgr["Pattern manager (enterprise)"] Hits -- "apply regex patterns" --> Hits2["Transformed results"] ``` <details> <summary><h3> File Walkthrough</h3></summary> <table><thead><tr><th></th><th align="left">Relevant files</th></tr></thead><tbody><tr><td><strong>Enhancement</strong></td><td><details><summary>6 files</summary><table> <tr> <td><strong>mod.rs</strong><dd><code>Expose projections module in meta</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/8104/files#diff-bab79e8da2d0d9f903cb1a6187d922c6de63d3e4561e8ce633660b664b4e859f">+1/-0</a> </td> </tr> <tr> <td><strong>projections.rs</strong><dd><code>Add ProjectionColumnMapping structure</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/8104/files#diff-2432b13a92a92cdbd1aa1ee0fbdde05827a67c37081e7f0ecc127a4effbe3101">+26/-0</a> </td> </tr> <tr> <td><strong>mod.rs</strong><dd><code>Post-process hits with regex patterns</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/8104/files#diff-f07bfacc0501b9c234e64b16c1dd8eb0ae8fcbe231f90c81fed72bcc94946f74">+61/-2</a> </td> </tr> <tr> <td><strong>mod.rs</strong><dd><code>Register regex_projections planner module</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/8104/files#diff-70bb941c2eef1365e5ead1a59b65c5397457b9197a4e22596e18d17db7eaf922">+1/-0</a> </td> </tr> <tr> <td><strong>cache.rs</strong><dd><code>Apply regex patterns to cached responses</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/8104/files#diff-55769b7cb67b550daf45363c6d7d569b39d4a6235f6a68c091beb40f16b6511e">+10/-0</a> </td> </tr> <tr> <td><strong>execution.rs</strong><dd><code>Apply regex patterns in streaming paths</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/8104/files#diff-75d432351865224f0b00d7cc819554c2ad5fa1f777e9c645d91a3fd5c1113bc0">+35/-1</a> </td> </tr> </table></details></td></tr><tr><td><strong>Tests</strong></td><td><details><summary>1 files</summary><table> <tr> <td><strong>regex_projections.rs</strong><dd><code>Extract projection source columns with tests</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/8104/files#diff-b329e80dfa025fabb0ef51b6dc25285aaadc00ab7862157deb0eb7b0b01bb494">+500/-0</a> </td> </tr> </table></details></td></tr><tr><td><strong>Documentation</strong></td><td><details><summary>1 files</summary><table> <tr> <td><strong>AssociatedRegexPatterns.vue</strong><dd><code>Enable UI section for detect-at choice</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/8104/files#diff-c6fce5e1c83798991b6ff19effb23c67af59f38fac0b9e56dcab7a09d139f550">+1/-1</a> </td> </tr> </table></details></td></tr></tr></tbody></table> </details> ___