편도는 Highlighting을 사용하는 것입니다.
이것은 상당히 풍부한 기능이지만 다음 예는 목표를 달성하는 데 도움이 될 수 있습니다.
{
"query": {
"match": {
"myfield": "another"
}
},
"highlight": {
"fields": {
"myfield": {
"type": "plain"
}
},
"pre_tags": [""],
"post_tags": [""]
}
}
당신은 일치하는 텍스트가 강조 유지하거나 pre_tags
및 post_tags
그냥 원래의 텍스트를 표시 할 빈 지정할 수도 있습니다.
응답의 highlight
필드는 일치하는 원본 소스 배열의 조회수 만 포함합니다.
{
...
"hits": {
"total": 1,
"max_score": 0.28582606,
"hits": [
{
"_index": "test",
"_type": "mytype",
"_id": "AWB6-u6V3-7fA7oZt-aX",
"_score": 0.28582606,
"_source": {
"myfield": [
"My favorite toy",
"Another toy for me"
]
},
"highlight": {
"myfield": [
"Another toy for me"
]
}
}
]
}
}
배열의 둘 이상의 값이 일치하면 모두 반환됩니다. 중첩 된 문서 또는 부모 - 자식 관계를 이용하고 그에서 내부 안타를 얻어 언급 한 바와 같이
{
...
"hits": {
"total": 1,
"max_score": 0.3938048,
"hits": [
{
"_index": "blah",
"_type": "mytype",
"_id": "AWB6-u6V3-7fA7oZt-aX",
"_score": 0.3938048,
"_source": {
"myfield": [
"My favorite toy",
"Another toy for me"
]
},
"highlight": {
"myfield": [
"My favorite toy",
"Another toy for me"
]
}
}
]
}
}
는 확실히 다른 옵션이 있습니다. 강조 표시는 원본 문서 구조를 유지 관리 할 수있는 유일한 해결책이었습니다.
"문서 1에 대한 공통 레이블", "다른 가능한 레이블", "여기에 하나의 레이블 만 있음"과 같은 전체 레이블에 대해 전체 텍스트 검색을 시도하거나 정확한 어울리는? 즉,'possible label'을 질의 할 때,''다른 가능한 레이블 ''이 반환 될 것으로 기대합니까? – sam
이 필드에 전체 텍스트 검색이 필요합니다. – Kevin