クエリのブースティング

positive クエリに一致するドキュメントを返し、negative クエリにも一致するドキュメントの関連スコアを減少させます。

boosting クエリを使用して、特定のドキュメントを検索結果から除外することなく、評価を下げることができます。

リクエストの例

Python

  1. resp = client.search(
  2. query={
  3. "boosting": {
  4. "positive": {
  5. "term": {
  6. "text": "apple"
  7. }
  8. },
  9. "negative": {
  10. "term": {
  11. "text": "pie tart fruit crumble tree"
  12. }
  13. },
  14. "negative_boost": 0.5
  15. }
  16. },
  17. )
  18. print(resp)

Ruby

  1. response = client.search(
  2. body: {
  3. query: {
  4. boosting: {
  5. positive: {
  6. term: {
  7. text: 'apple'
  8. }
  9. },
  10. negative: {
  11. term: {
  12. text: 'pie tart fruit crumble tree'
  13. }
  14. },
  15. negative_boost: 0.5
  16. }
  17. }
  18. }
  19. )
  20. puts response

Js

  1. const response = await client.search({
  2. query: {
  3. boosting: {
  4. positive: {
  5. term: {
  6. text: "apple",
  7. },
  8. },
  9. negative: {
  10. term: {
  11. text: "pie tart fruit crumble tree",
  12. },
  13. },
  14. negative_boost: 0.5,
  15. },
  16. },
  17. });
  18. console.log(response);

コンソール

  1. GET /_search
  2. {
  3. "query": {
  4. "boosting": {
  5. "positive": {
  6. "term": {
  7. "text": "apple"
  8. }
  9. },
  10. "negative": {
  11. "term": {
  12. "text": "pie tart fruit crumble tree"
  13. }
  14. },
  15. "negative_boost": 0.5
  16. }
  17. }
  18. }

ブースティングのためのトップレベルパラメータ

  • positive
  • (必須、クエリオブジェクト) 実行したいクエリ。返されるドキュメントはこのクエリに一致する必要があります。
  • negative
  • (必須、クエリオブジェクト) 一致するドキュメントの関連スコアを減少させるために使用されるクエリ。
    返されるドキュメントが positive クエリとこのクエリの両方に一致する場合、boosting クエリはドキュメントの最終的な関連スコアを次のように計算します:
    hebin-ul-start
    • positive クエリから元の関連スコアを取得します。
    • スコアに negative_boost 値を掛けます。
  • negative_boost
  • (必須、浮動小数点数) 01.0 の間の浮動小数点数で、negative クエリに一致するドキュメントの関連スコアを減少させるために使用されます。
    hebin-ul-end