Search multifield using cross_fields with one untokenizer field

Hi,
Our system is based on searching on multiple fields, such as: category, spec, name of product, among others. This way we can adjust our relevance by boost on field. The users can search for "tv 60 inches". In this case the term "tv" is a category and the terms "60 inches" is a spec. We would like the terms of the spec be untokenizer (the queryString of the user must contain all the terms of the spec for the document to be returned). The problem is that by using cross_fields with a untokenizer field, the document is not found.
Example:

// Create index
PUT test_multi
{
"settings": {
"analysis": {
"analyzer": {
"my_text": {
"tokenizer": "standard",
"filter": [
"lowercase",
"asciifolding"
]
},
"my_text_kw": {
"tokenizer": "keyword",
"filter": [
"lowercase",
"asciifolding"
]
}
}
}
},
"mappings": {
"product": {
"properties": {
"category": {
"type": "text",
"analyzer": "my_text"
},
"spec": {
"type": "text",
"analyzer": "my_text_kw"
}
}
}
}
}

// Add document 1
PUT test_multi/doc/1
{
"category": "TV",
"spec": "60 inches"
}

// Add document 2
PUT test_multi/doc/2
{
"category": "TV",
"spec": "60 Hz"
}

// Search
GET test_multi/_search
{
"query": {
"multi_match": {
"query": "tv 60 inches",
"type": "cross_fields",
"operator": "and",
"fields": [
"category","spec"
]
}
}
}

We do not want to use the spec field with tokenizer standard, because some isolated terms in the spec could be found. We also do not want to create a field unifying all the fields, since we have several fields and we want to control the boost by field to adjust our relevance. Is there any way to use cross field with a untokenizer field?

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.