I have created a new field extraction on props.conf via Splunk REST API
I have a raw message that looks like this.
field1=Happy,field2=Sad,field3=Angry, messenger : my message, keyer : jun
i put in the regex expression to extract jun from the raw message into a search time field called hhj.
the regex that i generated from the IFX was this : (?!)keyer : (P.+)
Using the Java SDK to create the new field extraction via Splunk REST API
RequestMessage reqMsg = new RequestMessage();
reqMsg.setContent("name=hhj&stanza=source::sample&type=EXTRACT&\value=(?i) messenger : (?P.+)\"");
When i viewed the props.conf file, it gave me
EXTRACT-hhj = (?i) keyer : (?P.)
The plus + sign inside the regex that i set through the rest endpoint was missing.
How do i make sure that the plus sign appears whenever i create the search time field extraction via the REST endpoint using Java for the above regex that i set.
You need to URL-encode any form data that you post. You can use the java method java.net.URLEncoder.encode() for this.
Incidentally, you're not really using the Splunk Java SDK here. You are actually just working directly with the REST API from Java here. That's fine, as the REST API is fully supported. But the SDK in general should not require you to be getting into the details of making HTTP/REST calls work.