{"action":"created","issue":{"url":"https://api.github.com/repos/Netflix/conductor/issues/684","repository_url":"https://api.github.com/repos/Netflix/conductor","labels_url":"https://api.github.com/repos/Netflix/conductor/issues/684/labels{/name}","comments_url":"https://api.github.com/repos/Netflix/conductor/issues/684/comments","events_url":"https://api.github.com/repos/Netflix/conductor/issues/684/events","html_url":"https://github.com/Netflix/conductor/issues/684","id":345502260,"node_id":"MDU6SXNzdWUzNDU1MDIyNjA=","number":684,"title":"ElasticSearch input and output fields","user":{"login":"jvemugunta","id":7503683,"node_id":"MDQ6VXNlcjc1MDM2ODM=","avatar_url":"https://avatars0.githubusercontent.com/u/7503683?v=4","gravatar_id":"","url":"https://api.github.com/users/jvemugunta","html_url":"https://github.com/jvemugunta","followers_url":"https://api.github.com/users/jvemugunta/followers","following_url":"https://api.github.com/users/jvemugunta/following{/other_user}","gists_url":"https://api.github.com/users/jvemugunta/gists{/gist_id}","starred_url":"https://api.github.com/users/jvemugunta/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jvemugunta/subscriptions","organizations_url":"https://api.github.com/users/jvemugunta/orgs","repos_url":"https://api.github.com/users/jvemugunta/repos","events_url":"https://api.github.com/users/jvemugunta/events{/privacy}","received_events_url":"https://api.github.com/users/jvemugunta/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":1,"created_at":"2018-07-29T05:07:13Z","updated_at":"2018-07-29T18:13:10Z","closed_at":null,"author_association":"CONTRIBUTOR","body":"In the mapping files mappings_docType_workflow.json and mappings_docType_task.json\r\n\r\nthe input and output fileds are defined as \r\n\r\n \"input\": {\r\n        \"type\": \"string\",\r\n        \"index\": \"analyzed\"\r\n      },\r\n      \"output\": {\r\n        \"type\": \"string\",\r\n        \"index\": \"analyzed\"\r\n      }\r\n\r\nWe want to use rely on Elastic Search Engine for querying for Tasks and Workflows instead of Conductor. Use Conductor as pure workflow engine and write all of the searches using Elastic Engine\r\n\r\nDeclaring the fields as above will be of no help from Elastic Search Perspective as JSON data is being converted as simple strings as below\r\nhttps://github.com/Netflix/conductor/blob/9f221071f0177b17a5fc803f26cd7fab7a2c06b5/common/src/main/java/com/netflix/conductor/common/run/TaskSummary.java#L89-L96\r\n\r\nHow can we store as JSON payload and make all of the fields inside the JSON payload as Indexable.\r\n\r\nI tried changing to\r\n\r\n\"input\": {\r\n        \"type\": \"object\",\r\n        \"dynamic\": true\r\n      },\r\n      \"output\": {\r\n        \"type\": \"object\",\r\n        \"dynamic\": true\r\n      },\r\n\r\n\r\nBut this seems to be not working.\r\n\r\nAppreciate any pointers \r\n\r\n\r\n\r\n\r\n\r\n\r\n"},"comment":{"url":"https://api.github.com/repos/Netflix/conductor/issues/comments/408695328","html_url":"https://github.com/Netflix/conductor/issues/684#issuecomment-408695328","issue_url":"https://api.github.com/repos/Netflix/conductor/issues/684","id":408695328,"node_id":"MDEyOklzc3VlQ29tbWVudDQwODY5NTMyOA==","user":{"login":"v1r3n","id":2246128,"node_id":"MDQ6VXNlcjIyNDYxMjg=","avatar_url":"https://avatars2.githubusercontent.com/u/2246128?v=4","gravatar_id":"","url":"https://api.github.com/users/v1r3n","html_url":"https://github.com/v1r3n","followers_url":"https://api.github.com/users/v1r3n/followers","following_url":"https://api.github.com/users/v1r3n/following{/other_user}","gists_url":"https://api.github.com/users/v1r3n/gists{/gist_id}","starred_url":"https://api.github.com/users/v1r3n/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/v1r3n/subscriptions","organizations_url":"https://api.github.com/users/v1r3n/orgs","repos_url":"https://api.github.com/users/v1r3n/repos","events_url":"https://api.github.com/users/v1r3n/events{/privacy}","received_events_url":"https://api.github.com/users/v1r3n/received_events","type":"User","site_admin":false},"created_at":"2018-07-29T18:13:10Z","updated_at":"2018-07-29T18:13:10Z","author_association":"CONTRIBUTOR","body":"@jvemugunta The reason for making this a string is that different tasks could potentially have different data types for the same field.  e.g. one task might output a field as string vs. another as integer or a complex object.  The conflicting data types will cause issues with indexing as Elasticsearch indexing will fail.  Given the fields are analyzed as string, you still should be able to search for tasks and workflows based on the values of the input/output.  "}}
{"actor":{"display_login":"v1r3n"}}