I'm a bit confused using the SharePoint 2013 search API. I have a managed property "owsBeslissingsOrgaan", which is basicly a metadata field. For this property, we enabled "Complete matching" because we only want results with the exact value we provided.
For values without quotes, we get responses as expected:
However, for values with a quote, we get zero results which seems incorrect. For validating this, by using refiners, I manually searched for the value (with quote) in the document library itself:
Now, when I try to do this using the Search Query Tool, I've read that I have to replace the single quote by two single quotes (using one single quote will result in a 400 Bad Request error). However, I get zero results:
The main goal is to use a POST request in a react page which calls the search API:
{
"request": {
"Querytext": "owsBeslissingsOrgaan:\"Commissie Programma's\"",
"SelectProperties": {
"results": [...]
},
"RowLimit": 200,
"TrimDuplicates": false,
"ClientType": "ContentSearchRegular",
"SortList": {
"results": [...]
}
}
}
Questions
- In the POST request, should I use one or two single quotes? My guess would be just one, as it does not need to be escaped here (GET vs POST)?
- Is 'Complete Matching' causing this?
- Could there be another property of the crawled property that causes this behaviour? E.g. Token Normalization?
- Is there something else I'm not understanding or doing wrong?