0

収集したすべてのコンテンツを、SOLR の主なソースである単一のコンテンツ フィールドのレコードに統合しています。問題は、コンテンツ フィールドに 100K 文字しかないレコードもあれば、10M 以上のレコードもあるということです。

その結果、任意の用語を検索すると、1,000 万文字のレコードが結果リストの一番上に押し出されます。

「相対用語頻度」のようなものを導入することで、これを制限/相殺したいと考えています。たとえば、出現数をコンテンツ フィールドの単語の総数で割ったものです。人々がどの用語を検索するかわからないため (私が思うに)、インデックス作成時にこれを計算することはできません。

これを行う方法に関する提案/アイデアはありますか?

4

1 に答える 1

0

Custom Similarityクラスから始めることができます。
これにより、上記のパラメーターとスコアリング ファクターを変更できます。(期間の頻度)メソッド
を確認してカスタマイズする必要があります。 Custom Similarity クラスは、Schema.xml ファイルから参照できます。 tf

実際の実装であるlucene DefaultSimilarityクラスを参考に確認してください。

類似性の変更も確認してください

于 2013-09-04T13:09:04.150 に答える