簡體   English   中英

如何查詢elasticsearch java api中的具體映射?

[英]How to query for specific mapping in elasticsearch java api?

我有這樣的索引定義

    {
      "mappings": {
        "my_mapping1": {
          "dynamic": false,
          "_all":       { "enabled": false },
          "_source":    { "enabled": false },
          "properties": {
              "my_property1":      { "type": "long", "store": true },
          }
        },
        "my_mapping2": {


    query = QueryBuilders.matchQuery("my_property1", "123123");


    Set<String> queryIndices = new HashSet<>();
    queryIndices.add("my_index_name");

    SearchResponse searchResponse = searchBuilder(SearchType.DFS_QUERY_THEN_FETCH, query, fields,
            queryIndices.toArray(new String[queryIndices.size()]), params.getType())
            .setSize(size)
            .execute().actionGet();

如何指定我正在搜索my_mapping1而不是my_mapping2

並跟進問題,我應該用長 object 查詢 matchQuery 的類型而不是字符串嗎?

通過查看您的來源,您似乎沒有使用從 6.0 開始提供的官方java 高級 rest 客戶端(JHLRC)

請參閱使用 JHLRC 的官方搜索請求 API ,其中在可選參數部分解釋了如何傳遞類型名稱,在您的情況下my_mapping1my_mapping2

SearchRequest searchRequest = new SearchRequest("posts"); 
searchRequest.types("doc"); // here you need to pass your type name.

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM