Elasticsearch의 Nested Sorting
2858 단어 elasticsearch
(이것은 작은 시리즈입니다. 스탬프: Elasticsearch의 Nested (끼워넣기) 시리즈, 다른nested 관련 글 보기)
It is possible to sort by the value of a nested field, even though the value exists in a separate nested document. To make the result
more interesting, we will add another record:
독립된nested 텍스트에 존재하지만, nested 필드를 기반으로 하는 값 정렬은 가능합니다.결과를 더욱 재미있게 하기 위해 다른 기록을 추가합시다.
curl -XPUT 'localhost:9200/my_index/blog/2' -d '
{
"title": "Investment secrets",
"body": "What they don't tell you ...",
"tags": [ "shares", "equities" ],
"comments": [
{
"name": "Mary Brown",
"comment": "Lies, lies, lies",
"age": 42,
"stars": 1,
"date": "2014-10-18"
},
{
"name": "John Smith",
"comment": "You're making it up!",
"age": 28,
"stars": 2,
"date": "2014-10-16"
}
]
}
Imagine that we want to retrieve blog posts that received comments in October, ordered by the lowest number of stars that each blog
post received. The search request would look like this:
우리가 10월에 평론된 블로그 글을 검색하고 각 문장에서 받은 최저 성급 순서에 따라 정렬하고 싶다고 가정해 보자.검색 요청은 다음과 유사해야 합니다.
curl -XPUT 'localhost:9200/_search' -d '
{
"query":{
"nested":{
"path":"comments",
"filter":{
"range":{
"comments.date":{
"gte":"2014-10-01",
"lt":"2014-11-01"
}
}
}
}
},
"sort":{
"comments.stars":{
"order":"asc",
"mode": "min",
"nested_filter":{
"range":{
"comments.date":{
"gte":"2014-10-01",
"lt":"2014-11-01"
}
}
}
}
}
}
Why do we need to repeat the query conditions in the nested_filter? The reason is that sorting happens after the query has been executed.
The query matches blog posts that received comments in October, but it returns blog post documents as the result. If we didn’t include the
nested_filter clause, we would end up sorting based on any comments that the blog post has ever received, not just those received in October.
왜 우리가nested_필터 내 중복 검색 조건?정렬은 조회 실행이 끝난 후에 발생하기 때문이다.10월에 댓글을 받은 블로그 문장과 일치하지만, 블로그 문장으로 돌아갑니다.
텍스트를 결과로 사용합니다.하면, 만약, 만약...filter 블록은 10월에 받은 평점이 아닌 되돌아오는 블로그 글의 모든 평론을 바탕으로 정렬됩니다.
(!!! 자신의 유한한elasticsearch 사용 경험에 근거하여 이 점은 독자들이 중시할 만하다!!!)
원문:http://www.elastic.co/guide/en/elasticsearch/guide/current/nested-sorting.html
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
kafka connect e elasticsearch를 관찰할 수 있습니다.No menu lateral do dashboard tem a opção de connectors onde ele mostra todos os clusters do kafka connect conectados atu...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.