Groovy와 함께 Spring Solr을 사용 중입니다.Spring Solr boosting 문제
결과를 높이려고 할 때 문제가 발생합니다.
색인 된 엔티티가 Product 인 단순화 된 온라인 쇼핑 도메인을 고려해보십시오.
사용자는 shoppingBasket 및 wishList를 가지며, 각각은 단순한 제품 코드 목록 (예 : List <String>)입니다. 두 목록은 고유하고 고유한지 확인하기 위해 먼저 처리됩니다.
간단한 검색이 제품 '텍스트의 키워드 문자열 (복합 필드의 설명과 제목을 포함, copyField를 사용하여 만든)이 될 수 있습니다.
요구 사항은 키워드가 텍스트에서 일치하는 모든 제품을 shoppingBasket에 표시된 것과 먼저 나열한 다음 wishList에있는 제품과 그 뒤에 오는 제품 중 하나가 나열된 결과를 나열하는 것입니다. 발생
문제는 일부 위시리스트와 shoppingBasket 그룹화 각에서 장소와 결과를 복용 강화하지만 위시리스트 일치의의 shoppingBasket 경기는 항상 앞서 표시되지 않습니다 것입니다.
각 목록에서 제품에 따라, 때로는 순서로 표시 : 모든리스트가 일치
을, 모든 shoppingBasket 일치, 모든 다른 경기 대신 예상의
: 모든 shoppingBasket 일치, 모든 wishList 일치, 다른 모든 일치
부스트는 다음 기준을 사용하여 적용됩니다.
내가 어떤 차이를 만들어하지 않는 PageRequest,에 추가 된 정렬 주석이 similar issue을 본 데.
는 또한 반환 된 결과에 점수를 포함하도록 @Score 주석을 사용했다. 그것들을 조사해 보면 solr이 shoppingBasket이나 wishList의 모든 일치 항목에 동일한 동일한 점수를 부여한다는 것을 알 수 있습니다. 이 목록 밖에있는 모든 경기는 점수가 더 낮아집니다 (둘 사이에 동일 함).
아무 소용 부스트 (각각 10000.0f 및 5000.0f)에 대해 다른 값을 노력했다. 그것은 다른 점수를 냈지만 그것은 shoppingBasket 또는 wishList에서 모든 경기간에 여전히 동일합니다.
심지어 혼자 그냥 밀어 기준 아래 검색을 단순화 순서는 밖으로 아직도있다.모든 아이디어를 얻을 수 있습니다.