Sure
here are examples:
{
"age": 40,
"deletedAt": "2021-01-04T10:00:00.000Z",
"id": "07d6548c-f5a0-4def-827d-e4734e03ac67",
"name": "Jack",
"text": "I am too old to play football",
"type": "user",
"updatedAt": "2020-08-14T14:53:50.248Z"
}, {
"age": 23,
"deletedAt": null,
"id": "7a251009-d181-4944-81f7-b0573e4261ae",
"name": "John",
"text": "I like to play football",
"type": "user",
"updatedAt": "2020-08-14T14:53:50.248Z"
}, {
"age": 58,
"deletedAt": null,
"id": "7a251009-d181-4944-81f7-b0573e4261ae",
"name": "Jason",
"text": "I like chess",
"type": "user",
"updatedAt": "2020-08-14T14:53:50.248Z"
}
here is an index definition
curl -XPUT -H "Content-Type: application/json" \
-u <username>:<password> http://localhost:8094/api/index/fts-user -d \
'{
"type": "fulltext-index",
"name": "fts-user",
"uuid": "",
"sourceType": "couchbase",
"sourceName": "users",
"sourceUUID": "",
"planParams": {
"maxPartitionsPerPIndex": 171,
"indexPartitions": 6
},
"params": {
"doc_config": {
"docid_prefix_delim": "",
"docid_regexp": "",
"mode": "type_field",
"type_field": "type"
},
"mapping": {
"analysis": {},
"default_analyzer": "standard",
"default_datetime_parser": "dateTimeOptional",
"default_field": "_all",
"default_mapping": {
"dynamic": true,
"enabled": false
},
"default_type": "_default",
"docvalues_dynamic": true,
"index_dynamic": true,
"store_dynamic": false,
"type_field": "_type",
"types": {
"user": {
"dynamic": false,
"enabled": true,
"properties": {
"age": {
"dynamic": false,
"enabled": true,
"fields": [
{
"docvalues": true,
"include_in_all": true,
"include_term_vectors": true,
"index": true,
"name": "age",
"type": "number"
}
]
},
"deletedAt": {
"dynamic": false,
"enabled": true,
"fields": [
{
"docvalues": true,
"include_in_all": true,
"include_term_vectors": true,
"index": true,
"name": "deletedAt",
"type": "datetime"
}
]
},
"text": {
"dynamic": false,
"enabled": true,
"fields": [
{
"docvalues": true,
"include_in_all": true,
"include_term_vectors": true,
"index": true,
"name": "text",
"type": "text"
}
]
}
}
}
}
},
"store": {
"indexType": "scorch"
}
},
"sourceParams": {}
}'
I need to be able to search nullable
docs using the query similar to this:
SELECT * FROM `Users` AS x USE INDEX (`fts-user` USING FTS)
WHERE SEARCH(x, {"query":{
'conjunction': [{
"query": "football"
},{
'field': 'deletedAt',
'match': null
}]
}});