2017-03-29 6 views
1

알골비아의 순위 구성에 어려움이 있습니다. 나는 "Contrat"검색 할 때 나는이 같은 결과 집합이 있습니다알골비아 : 검색 결과 순서

[ 
 
    { 
 
    "ope_id" : 1, 
 
    "ope_lib" : "Contrat de maintenance en entretien de toitures", 
 
    "ope_description" : "Réalisation d'un entretien régulier des toitures", 
 
    "ope_nb_offre" : "42" 
 
    }, 
 
    { 
 
    "ope_id" : 2, 
 
    "ope_lib" : "Contrat d'entretien de pompe à chaleur", 
 
    "ope_description" : "<h2>Confort et sécurité au quotidien</h2> <h3>Votre domicile est équipé d’une pompe à chaleur comme système de chauffage ?</h3>Qu’elle soit géothermique ou aérothermique, il est indispensable de veiller à son entretien. En effet, en cas de dysfonctionnement, son efficacité sera réduite ce qui nuira à votre confort intérieur.En souscrivant un contrat d’entretien avec un professionnel pour votre pompe à chaleur, la durée de vie de votre installation sera prolongée et ses performances seront en permanence optimales, vous évitant ainsi toute augmentation de vos dépenses énergétiques.<h3>Le contrat d’entretien inclut :</h3> <ul> <li>Une révision annuelle de votre pompe à chaleur</li> <li>La vérification des fluides frigorigènes par un professionnel certifié Qualipac (opération imposée par la réglementation sur les appareils contenant plus de 2 kg de fluide)</li> <li>le remplacement des pièces et accessoires usagés</li> <li>un service de dépannage</li> </ul>", 
 
    "ope_nb_offre" : "41" 
 
    }, 
 
    { 
 
    "ope_id" : 3, 
 
    "ope_lib" : "Contrat d'entretien de chaudière murale au gaz", 
 
    "ope_description" : "<h2>Economie d'énergie et sécurité de votre habitat</h2> <h3>Pour le chauffage et la production d’eau chaude, vous utilisez une chaudière au gaz ?</h3><span style=\"font-size: small;\">Les défaillances de cet appareil peuvent avoir des conséquences désagréables voire dangereuses. Afin d’éviter les risques de panne ou d’intoxication, vous avez la possibilité de souscrire un contrat d’entretien auprès d’un professionnel spécialisé.</span> <span style=\"font-size: small;\">Ce contrat vous garantira le bon état permanent de votre chaudière, il comprend : </span><h3 style=\"text-align: left;\"><span style=\"font-size: medium;\">Une visite annuelle incluant :</span></h3> <div> <ul> <li style=\"text-align: left;\"><span style=\"font-size: small;\"> Le nettoyage des composants de votre chaudière (corps de chauffe , brûleur , extracteur, veilleuse)</span></li> <li style=\"text-align: left;\"><span style=\"font-size: small;\"> Le réglage des organes de régulations et des systèmes de sécurité</span></li> <li style=\"text-align: left;\"><span style=\"font-size: small;\"> La vérification de l’état, de la nature et de la géométrie du conduit de raccordement de l’appareil.</span></li> <li style=\"text-align: left;\"><span style=\"font-size: small;\"> La mesure des polluants atmosphériques (teneur en monoxyde de carbone)</span></li> <li style=\"text-align: left;\"><span style=\"font-size: small;\"> Le contrôle des points liés à la sécurité des biens et des personnes (entrée d\'air, évacuation des gaz de combustion)</span></li> </ul> <h3><span style=\"font-size: medium;\">Un dépannage éventuel sur appel justifié du souscripteur du contrat</span></h3> </div> <h2>Certificat nécessaire à votre assurance</h2>", 
 
    "ope_nb_offre" : "265" 
 
    } 
 
]

을 그리고 나는 ope_id 한 다른 전에 표시되는 이유를 이해하지 않습니다. 다음은 ma algolia config입니다. 검색 가능한 속성 : "ope_lib, ope_description"(순서 없음) 사용자 지정 순위 속성 : "ope_nb_offre". 속성별로 정렬 : false. 순위 공식 : - 오타 - 속성 - 정확한 - 지리적 - 단어 - 필터 - 근접 사용자 순위 기준 (로 위에서 말했다) : 내림차순 (op_nb_offre).

ope_id 3에는 내 검색 키워드 "contrat"가 많이 발생하고 다른 하나보다 ope_nb_offre가 더 많이 표시되지만 이후에도 계속 표시됩니다. 도움이된다면

, 여기에 각 결과에 대한 순위 정보는 다음과 같습니다

OPE_ID 1: 
 
1 Number of typos 0 
 
2 Best matching attribute 
 
- ope_lib,ope_description (1st word) 
 
3 Exact words count 0 (=> Why 0??) 
 
4 Matching words 1 
 
5 Matching filters 0 
 
6 Proximity distance 0 
 
7 Custom Ranking 
 
- ope_nb_offre_total=42 
 

 
OPE_ID 2 
 
1 Number of typos 0 
 
2 Best matching attribute 
 
- ope_lib,ope_description (1st word) 
 
3 Exact words count 0 (=> Why 0??) 
 
4 Matching words 1 
 
5 Matching filters 0 
 
6 Proximity distance 0 
 
7 Custom Ranking 
 
- ope_nb_offre_total=41 
 
was 
 
- ope_nb_offre_total=42 
 

 
OPE_ID 3 
 
1 Number of typos 0 
 
2 Best matching attribute 
 
- ope_lib,ope_description (1st word) 
 
3 Exact words count 0 
 
4 Matching words 1 
 
5 Matching filters 0 
 
6 Proximity distance 0 
 
7 Custom Ranking 
 
- ope_nb_offre_total=265 
 
was 
 
- ope_nb_offre_total=27 (=> and why is 27 after 265??)

나는 내가 가진 모든 정보를 준 것 같아요. 누구든지 단서가 있다면 알려주세요!

감사합니다.

답변

6

왜 265 후에 27입니까?

ope_nb_offre 속성은 으로 알골시아로 푸시되었습니다. 이것이 의미하는 바는 엔진이 사용자 정의 순위 규칙에 도달하여 가장 관련이있는 레코드를 결정할 때입니다. 숫자 대신 숫자 순으로 알파벳 순으로 정렬하려고합니다.

이 문제를 해결하려면 데이터의 색인을 다시 생성하고 해당 속성을 정수로 변환해야합니다. 더 정확한 단어가없는 이유는

이 Algolia 레코드의 텍스트 관련성을 결정하기 위해 접두사 일치를 사용하여 계산합니다. 접두사 일치는 "soft"를 입력하면 검색 가능한 속성 (예 : "소프트웨어")을 포함하는 결과를 반환 함을 의미합니다.

단어가 끝나지 않는 한 검색어 문자열은 접두사로 간주되므로 완벽하게 일치하지 않습니다. 엔진이 입력을 마쳤는지 알 수있는 방법이 없습니다.

"Contrat"다음에 "space"를 추가하면 정확하게 일치하는 것을 볼 수 있습니다.

단어 주파수

여기 내 가정은 당신이 Algolia에서 다음과 같은 구성해야한다는 것입니다

:

검색 가능한 속성 :

  • 정렬되지 않은 (ope_lib)
  • 정렬되지 않은 (ope_description)

여기 엔진에 무엇을 말하면, 처음에는 ope_lib에 일치하는 단어를 찾은 다음 ope_description에 찾아야한다는 것입니다. 여기서 중요한 것은 구성에 나타나는 순서입니다.

구성에서 ope_lib에 일치하는 항목이있는 경우 ope_description에서 일치하는 항목이 없습니다.

이 문제를 해결하려면 두 속성을 대시 보드의 동일한 수준에 추가하면됩니다. 다음은 수행해야 할 작업을 설명하는 스크린 샷입니다. 이 경우 동일한 속성에 복수 속성 이있는 경우 속성을 기본값으로 지정하면 속성을 unordered으로 감쌀 필요가 없습니다.

How to add multiple searchable attributes at the same level