3

標準のアナライザーとトークナイザーの結果が私たちのニーズに合っているように見えたので、古い「クイック ナビゲーション」/検索を Tire から Searchkick に再構築する過程にありました。ただし、複数のモデルを検索する必要があり、これがいくつかの問題を引き起こしています。

ドメインはウェブホスティングです。アカウントを含み、データベースとアプリケーションを含むサーバーを表すオブジェクトを考えてみましょう。アプリケーションには多くのドメインがあり、これには SslCertificate があります。

つまり、"something" を検索するとき、データベース "something"、アカウント "something"、ドメイン "something.com" がある場合、アカウントを一番上に置き、データベースとドメインを続けます。問題は、さまざまなインデックスを検索しているため、これらのスコアが信頼できないことです。

この設定では、すべてのモデルで number_of_shards 1 が使用されます。問題は、正しく理解すれば「独自性」が報われることにあると思います。つまり、5000 個のオブジェクトのうち 1 つのデータベースが一致し、100 個のうち 1 つのアカウントが一致する場合、データベースの一致はよりユニークであり、スコアが高くなります。

これを微調整するにはどうすればよいですか?私が理解している限り、特定のモデルのフィールドのスコアを上げる方法はありません。

4

1 に答える 1

0

最善の策は、Searchkick が生成するクエリを変更することです。 https://github.com/ankane/searchkick#advanced

タイヤから移行する場合は、同じブースト コードを試してください。

または、それがうまくいかない場合は、次のいずれかを試してください: http://www.elasticsearch.org/guide/en/elasticsearch/reference/0.90/query-dsl-function-score-query.html

于 2014-05-21T06:42:11.030 に答える