0

700.000 を超えるデータセットを含む生産的な Solr サーバーを運用しています。次の設定でクエリ モード dismax を使用しています。

mm = 2<-1 5<80%
tie = 0.1
qf = title^4 text title_bg^4 text_bg title_hr^4 text_hr title_cs^4 text_cs title_da^4 text_da title_nl^4 text_nl title_et^4 text_et title_fi^4 text_fi title_fr^4 text_fr title_de^4 text_de title_el^4 text_el title_hu^4 text_hu title_ga^4 text_ga title_it^4 text_it title_lv^4 text_lv title_lt^4 text_lt title_mt^4 text_mt title_pl^4 text_pl title_pt^4 text_pt title_ro^4 text_ro title_sk^4 text_sk title_sl^4 text_sl title_es^4 text_es title_sv^4 text_sv name^4 tags^2 groups^2

すべての言語で検索したいこの特定のクエリでは、いくつかのフィールドが複数の言語で保存されているため、qf 値は非常に拡張されています。しかし、クエリは非常に遅いです。応答を得るまでに約 12 秒かかります。サーバーのハードウェアは十分すぎるほどです。qf値の程度と応答時​​間はつながっていることに気付きました。qf を削除すると、応答時間が大幅に改善されます。これは予想される動作ですか?qf は大きすぎてはいけませんか? この場合のパフォーマンスを微調整する方法はありますか?

4

1 に答える 1

1

これは、クエリの再ランキングの良い使用例のように思えます。

最初に単純なクエリを使用し (たとえば、qf からすべての title* を削除しても良い結果が得られる場合があります)、次に、現在持っている完全な複雑な qf を再ランキング ステップに使用します。

于 2016-10-11T22:11:55.413 に答える