2017-03-29 10 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 1は、他の前に表示されている理由を理解していません。 ここにma algolia config: 検索可能な属性: "ope_lib、ope_description"(順序付けられていません) カスタムランキング属性: "ope_nb_offre" 属性で並べ替え:false ランキング式: - タイプミス - 属性 - 正確な - 地理 - 言葉 - フィルタ - 近接 カスタムランク付けの基準を(としては、上記の言った):DESC(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がアルゴリアにstringとしてプッシュされました。 これは、エンジンがカスタムランキングルールに達して、どのレコードが最も関連性が高いかを判断するときです。 数値ではなくアルファベット順でソートしようとします。

これを解決するには、データのインデックスを再作成し、その属性を整数としてキャストする必要があります。あなたは何の正確な言葉を持っていないのはなぜ

がAlgoliaがレコードのテキスト関連性を決定するために、プレフィックスマッチングを使用しています数えます。 接頭辞マッチングとは、「ソフト」と入力すると、検索可能な属性(たとえば、 「ソフトウェア」など)を含む結果を返します。

あなたの言葉が終了していない限り、クエリ文字列は接頭辞と見なされ、完全一致ではありません。 エンジンは入力を完了したかどうかを知る方法がありません。

「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

関連する問題