1
나는 다음 부울 쿼리가 있습니다내가 통과 한 결과의 우선 순위는 어떻게 결정합니까?
POST _search
{
"query": {
"bool" : {
"must" : {
"term" : { "title" : "technology" }
},
"should" : [
{ "term" : { "text" : "companies that produce hardware" } }
]
}
}
}
이가 (순서대로) 다음과 같은 문서 ID 년대를 반환한다고 가정이 쿼리 내가 별도의 데이터베이스를 쿼리하고 다음과 같은 결과를 얻을 발생하기 전에
1. netflix
2. google
3. microsoft
4. dell
5. intel
을 (순서대로) :
1. intel
2. amazon
3. dell
다음 결과를 얻으려면 elasticsearch보다 데이터베이스의 결과에 우선 순위를 지정하고 싶습니다.
1. intel
2. dell
3. netflix
4. google
5. microsoft
(얇은 공기에서 탄성 검색 문서를 만들려고하지 않으므로 아마존이 표시되지 않습니다.)
스위치 란 무엇입니까? "회사"란 무엇입니까? 대신에 "id"를 사용할 수 있습니까? 아니면 catch가 있습니까? –
"else return 3"은 나머지 문서를 그대로 둡니다. 예를 들어 나머지 문서의 정렬을 엉망으로 만들지는 않습니까? –
@MarissaLevy 신경 쓰지 마라, 나는 대답에서 'switch statement'부분을 삭제했다. 이 스크립트는 문서 내용을 변경하지 않으며이 특정 쿼리의 결과 정렬에만 영향을 미칩니다. ES 분류 문서에 대한 링크를 추가했습니다. "else return 3"은 문서가 'if 문'에 들어 맞지 않을 경우 우선 순위 값이 가장 높고 마지막에 배치됩니다. '_id'입력란에 대한 정보를 추가했습니다. :) – YoavBZ