For e.g. I have a document as follows:
{
"filename": "SRV_MODA_ACCT_FSCK",
"svcName": "VerifyAddOperationForUserTransactions"
}
If I'd provide search terms such as "srv", "moda", "acct", etc, I'd (for e.g.) want this record also to turn up in my search result. Similarly, if I type "verify", "add", "transaction", I'd want the above document to turn up during a search.
Further, There may be other documents, where for e.g. the word "acct" is replaced by "account" or "accounts". (Either in the filename, or svcName fields). However, when the user searches "account", I'd still want the above document to show up. Similarly "chrg" (short for "charge"). If the user typed "chrg" for instance, I'd want all documents where either the filename or svcName has the word "chrg" in them. They may be pascal-case. For e.g. ComputeTxnFeeChrgs. In here, "transaction" is abbreviated as "txn". So if the user searched for chrgs and txn together, all those documents that contain this need to be returned. The same results need be returned if the user typed the whole words - "charges" and "transactions", or "charge" and "transaction"...etc
How to make elastic search achieve this?