Elastic Search中的字段属性
我试图重新索引我的文档,以便它们可排序,这需要进行可排序的字段具有未经分析的字符串的“原始”版本的多字段属性。
我正在关注这篇文章,但是在使用排序查询搜索我的文档时仍然出现错误。
那么我有一个关于数据重新索引的问题......如果我将这些数据重新索引到这个新的索引中,那么是否需要额外的逻辑来设置分析版本和非分析版本或“原始”版本的字符串呢? 还是弹性搜索会自动填充那个? 这是我的领域的样子:
{
"entityName": {
"type":"string",
"fields": {
"raw": {
"type":"string",
"index":"not_analyzed"
}
}
}
}
所以当我用如下的_source
索引一个文档时:
{
...
"entityName":"Ned Stark"
...
}
将映射到analyzed
字段和 not_analyzed
字段是否完成,或者是否还有其他事情需要我去告诉索引以填充“原始”属性?
不,你不需要做其他事情。
重新索引文档之后,您必须告诉查询应该在给定的文档中使用哪些字段。
原始子字段:
POST /_search
{
"query": {
"match": {
"entityName.raw": "foo-bar"
}
}
}
或原始分析类型:
POST /_search
{
"query": {
"match": {
"entityName": "foo-bar"
}
}
}
链接地址: http://www.djcxy.com/p/60135.html