Я немного запутался с использованием полей в Elastic Search.
Нужно ли в запросе конкретно указывать суффикс поля, чтобы ключевое слово / мультиполе вступило в игру?Или текст запроса автоматически проверяется на соответствие настройкам.Проверьте пример сопоставления.Потому что я чувствую, что запросы, которые я выполняю, похоже, не попадают в правильное поле с любым прикладным анализатором, который у меня может быть.
GET /Samples/sample/_search
{
"query": {
"dis_max": {
"queries": [
{ "match": { "Field1": "alpha" }}
]
}
},
"size": 300
}
или
GET /Samples/sample/_search
{
"query": {
"dis_max": {
"queries": [
{ "match": { "Field1.raw": "alpha" }}
]
}
},
"size": 300
}
или
GET /Samples/sample/_search
{
"query": {
"dis_max": {
"queries": [
{ "match": { "Field1.edge": "alpha" }}
]
}
},
"size": 300
}
со следующим отображением:
.Mappings(ms => ms
.Map<Sample>(m => m
.Properties(p => p
.Text(s => s
.Name(n => n.Field1)
.Fields(fs => fs
.Keyword(ss => ss
.Name("raw")
)
.Text(tt => tt
.Name("edge")
.Analyzer("sample_analyzer")
)
)
)
)
)