Есть индекс с таким маппингом
{
"words": {
"mappings": {
"word": {
"properties": {
"_id": {
"type": "string"
},
"defs": {
"properties": {
"text": {
"type": "string",
"analyzer": "terms_defs"
}
}
},
"termin": {
"type": "string"
}
}
}
}
}
}
В нём документы типа
{
"_index": "words",
"_type": "word",
"_id": "5697a367a3cb0a39705aa739",
"_score": 1,
"_source": {
"termin": "СТЕРЕОФОТОГРАММЕТРИЯ",
"defs": [
{
"text": "наука, изучающий методы измерения объемных форм по паре фотоснимков"
},
{
"text": "раздел фотограмметрии, изучающий методы измерения объемных форм по стереопарам фотоснимков"
},
{
"text": "наука, изучающая методы измерения объемных форм (например, рельефа местности) по стереопаре фотоснимков, основанные на использовании стереоскопического эффекта и измерении объемной модели местности специальными приборами"
}
],
"_id": "5697a367a3cb0a39705aa739"
}
}
Нужно что бы например этот документ находило по запросу "раздел фотограмметрии" и не находило по запросу "наука фотограмметрии"
Например такой запрос находит сейчас этот документ:
{
"query":{
"bool": {
"should": [{
"function_score": {
"query": {
"match": {
"defs.text": {
"query": "наука фотограмметрии",
"fuzziness": "AUTO",
"operator": "and"
}
}
}
}
}]
}
}
}