【发布时间】:2019-02-13 21:03:44
【问题描述】:
我对 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")
)
)
)
)
)
【问题讨论】:
标签: elasticsearch nest