1

ElasticSearch を使用していますが、スコアの基にしているフィールドがいくつかのドキュメントで NULL であるため、NullPointerExceptions が発生しています。

ElasticSearch でこれらの null フィールドを 0 として扱うようにするにはどうすればよいですか?

FWIW、私は Tire gem を使用しています。これが私の Ruby コードです。

s = Tire.search "articles" do
            query do
                custom_score :script => "_score < 2 ? 0 : doc['num_likes'].value" do
                   match fields, keyword
                end     
            end               
end
4

2 に答える 2

1

次のようなスクリプトはどうですか:

"_score < 2 ? 0 : (doc['num_likes'] == null ? 0 : doc['num_likes'].value)"

それは機能しますか?

于 2013-08-13T20:27:40.287 に答える