highlight
내에서 pre_tags
, post_tags
로 사용할 태그를 지정할 수 있음
...
"highlight": {
"pre_tags": ["<strong>"],
"post_tags": ["</strong>"]
}
...
[]
로 감싸져 있어서 여러 개의 태그를 담을 수 있을 것이라고 생각했고, 아래처럼 작성해봄
...
"highlight": {
"pre_tags": ["<strong>", "<b>"],
"post_tags": ["</strong>", "</b>"]
}
...
그런데 여전히 결과는 <strong>
, </strong>
태그로만 감싸져 나오고 <b>
, </b>
태그는 보이지 않음
Painless
스크립트를 활용했을 때, 반환값을 볼 수 있는 방법은 없을까?
4.3장 solution 2에서는 값을 꺼낼 때, doc['url'].value
로 꺼냈음
solution 3에서는 doc['authors.last_name']
을 변수 authors
에 저장해 둠
그리고 사용할 때, authors.get(숫자).startsWidh()
으로 사용함
구조를 잘 모르겠다.
내가 생각하기에는 3에서
-> 꺼낼 때 doc['authors.last_name'].value
-> 혹은 사용할 때 authors.get(숫자).value.startsWidh()
위 두 경우 중 하나에 해당해야 맞는 것 같은데.
highlight 기능에서 [] array로 사용하여 하이라이트를 담는 기능은 fvh(fast vector highlight) 를 사용하는 기능으로 사용됩니다.
https://www.elastic.co/guide/en/elasticsearch/reference/current/highlighting.html#fast-vector-highlighter
일반적으로 하이라이트를 우선순위에 따라 여러개를 입력할 필요는 별로 없겠지만, 필요의 경우 사용하게 되며, 예시 샘플은 다음을 진행하여 보면 이해가 되실거라 생각합니다.