[英]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_mapping1
和my_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.