지식베이스 용 Solr 색인을 작성 중이며 을 구현하는 데 문제가 있습니다. 우선 : 우리는 곱셈 부스팅과 덧셈을 원합니다.기능이있는 경우 Solr에서 범위를 확인해야합니다.
그리고 문서가 더 많을수록 더 많이 올려야하지만 특정 정도는 높아집니다. 먼저 boost = sum (div (hits, 10000), 1)과 같은 함수에 대해 살펴 보았지만 특정 문서를 너무 많이 푸시합니다.
그래서 우리는이 같은 생각 (일부 다른 사람 옆에 있지만, 모든 작업과 만이 나에게 오류를 줄) :
&boost=if(hits,[0+TO+100],1)
&boost=if(hits,[101+TO+250],1.25)
&boost=if(hits,[250+TO+100000],1.5)
오류는 다음과 같습니다 그래서 명백한
org.apache.solr.search.SyntaxError: Expected identifier at pos 8 str='if(hits,[101 TO 250],1.25)'
이유는 if 함수의 범위입니다. 단일 값으로 제거하면 모든 것이 작동하지만 실제로는 도움이되지 않습니다.
제 질문은 : "if()"함수와 값의 범위를 결합하여 일치시킬 수 있습니까? 이 문제를 해결하기 위해 수 백만 가지 방법을 시도해 볼 수는 있지만 사실상 boost 패러미터 값을 다른 범위에 맞게 구성 할 수 있고 그 구문을 사용하기가 쉽기 때문에 실제로 이와 같은 방식으로 사용하면 좋을 것입니다. 우리의 프레임 워크는 Solr에 액세스합니다.
그러나 달리기를 할 기회가 없다면 다른 대안을 찾을 수 있습니다. 많은,
마르쿠스
네,하지만 ... – mindfxxxedCoder