1

これは非常に初心者の質問ですが、ドキュメント内の特定の要素をブーストすることがどのように機能するかを理解しようとしています。

私はこのクエリから始めました、

{
  "from": 0,
  "size": 6,
  "fields": [
    "_id"
  ],
  "sort": {
    "_score": "desc",
    "vendor.name.stored": "asc",
    "item_name.stored": "asc"
  },
  "query": {
    "filtered": {
      "query": {
        "query_string": {
          "fields": [
            "_all"
          ],
          "query": "Calprotectin",
          "default_operator": "AND"
        }
      },
      "filter": {
        "and": [
          {
            "query": {
              "query_string": {
                "fields": [
                  "targeted_countries"
                ],
                "query": "All US"
              }
            }
          }
        ]
      }
    }
  }
}

次に、ドキュメント内の特定の要素を他の要素よりもブーストする必要があったので、これを行いました

{
  "from": 0,
  "size": 60,
  "fields": [
    "_id"
  ],
  "sort": {
    "_score": "desc",
    "vendor.name.stored": "asc",
    "item_name.stored": "asc"
  },
  "query": {
    "filtered": {
      "query": {
        "query_string": {
          "fields": [
            "item_name^4",
            "vendor^4",
            "id_plus_name",
            "category_name^3",
            "targeted_countries",
            "vendor_search_name^4",
            "AdditionalProductInformation^0.5",
            "AskAScientist^0.5",
            "BuyNowURL^0.5",
            "Concentration^0.5",
            "ProductLine^0.5",
            "Quantity^0.5",
            "URL^0.5",
            "Activity^1",
            "Form^1",
            "Immunogen^1",
            "Isotype^1",
            "Keywords^1",
            "Matrix^1",
            "MolecularWeight^1",
            "PoreSize^1",
            "Purity^1",
            "References^1",
            "RegulatoryStatus^1",
            "Specifications/Features^1",
            "Speed^1",
            "Target/MoleculeDescriptor^1",
            "Time^1",
            "Description^2",
            "Domain/Region/Terminus^2",
            "Method^2",
            "NCBIGeneAliases^2",
            "Primary/Secondary^2",
            "Source/ExpressionSystem^2",
            "Target/MoleculeSynonym^2",
            "Applications^3",
            "Category^3",
            "Conjugate/Tag/Label^3",
            "Detection^3",
            "GeneName^3",
            "Host^3",
            "ModificationType^3",
            "Modifications^3",
            "MoleculeName^3",
            "Reactivity^3",
            "Species^3",
            "Target^3",
            "Type^3",
            "AccessionNumber^4",
            "Brand/Trademark^4",
            "CatalogNumber^4",
            "Clone^4",
            "entrezGeneID^4",
            "GeneSymbol^4",
            "OriginalItemName^4",
            "Sequence^4",
            "SwissProtID^4",
            "option.AntibodyProducts^4",
            "option.AntibodyRanges&Modifications^1",
            "option.Applications^4",
            "option.Conjugate^3",
            "option.GeneID^4",
            "option.HostSpecies^3",
            "option.Isotype^3",
            "option.Primary/Secondary^2",
            "option.Reactivity^4",
            "option.Search^1",
            "option.TargetName^1",
            "option.Type^4"
          ],
          "query": "Calprotectin",
          "default_operator": "AND"
        }
      },
      "filter": {
        "and": [
          {
            "query": {
              "query_string": {
                "fields": [
                  "targeted_countries"
                ],
                "query": "All US"
              }
            }
          }
        ]
      }
    }
  }
} 

クエリが大幅に遅くなりましたが、これは正しく実行されていますか?それをスピードアップする方法はありますか?現在、ドキュメントのインデックスを作成するときにブースティングを実行中ですが、クエリでそのように使用するのが、アプリケーションの実行方法に最適です。どんな助けでも大歓迎です

4

1 に答える 1

2

クエリ時間のブーストは、用語により大きな重みを割り当てるために使用されます。フィールドを永続的にブーストする場合は、インデックス時間ブーストを使用します。このブーストを常に使用したくない場合は、setを使用して専用のマッピングを作成するのが理にかなっていますstore: "no"

于 2011-09-15T22:50:12.840 に答える