Add production-ready Elasticsearch query processor
Implement a comprehensive Elasticsearch query processor that transforms ActiveContext::Query AST nodes into Elasticsearch DSL queries. This implementation provides proper handling of all query types and follows best practices for query composition. Key changes: - Add Processor class with support for filter, prefix, knn, and boolean queries - Implement helper methods for consistent query building - Add comprehensive test coverage - Add YARD documentation for all methods Details: * Processor changes: - Implement transform method following concern contract - Add build_bool_query helper for consistent query construction - Add proper handling of KNN queries with other conditions - Implement proper query composition for nested structures * Test improvements: - Add comprehensive test suite with all query types - Add test cases for complex nested queries - Add edge case coverage - Use shared examples for common query patterns * Documentation: - Add YARD documentation for all public methods - Add usage examples - Document query composition patterns - Add type specifications for parameters This implementation provides a production-ready solution for transforming query AST nodes into Elasticsearch queries, with proper handling of all supported query types and edge cases.
显示
- gems/gitlab-active-context/lib/active_context/databases/concerns/processor.rb 39 个添加, 0 个删除...ontext/lib/active_context/databases/concerns/processor.rb
- gems/gitlab-active-context/lib/active_context/databases/elasticsearch/client.rb 5 个添加, 2 个删除...text/lib/active_context/databases/elasticsearch/client.rb
- gems/gitlab-active-context/lib/active_context/databases/elasticsearch/processor.rb 298 个添加, 0 个删除...t/lib/active_context/databases/elasticsearch/processor.rb
- gems/gitlab-active-context/lib/active_context/query/processor_example.rb 3 个添加, 1 个删除...ive-context/lib/active_context/query/processor_example.rb
- gems/gitlab-active-context/spec/lib/active_context/databases/elasticsearch/client_spec.rb 3 个添加, 2 个删除...lib/active_context/databases/elasticsearch/client_spec.rb
- gems/gitlab-active-context/spec/lib/active_context/databases/elasticsearch/processor_spec.rb 383 个添加, 0 个删除.../active_context/databases/elasticsearch/processor_spec.rb
- gems/gitlab-active-context/spec/spec_helper.rb 2 个添加, 0 个删除gems/gitlab-active-context/spec/spec_helper.rb
- gems/gitlab-active-context/spec/support/shared_examples/query_processor_examples.rb 32 个添加, 0 个删除.../spec/support/shared_examples/query_processor_examples.rb
加载中
想要评论请 注册 或 登录