java - 如何在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
并跟进问题,我应该用长对象查询 matchQuery 的类型而不是字符串吗?
解决方案
通过查看您的源代码,您似乎没有使用从 6.0 开始提供的官方java 高级休息客户端(JHLRC)
请参阅使用 JHLRC 的官方搜索请求 API,其中在可选参数部分下解释了如何传递类型名称,在您的情况下my_mapping1
和my_mapping2
.
SearchRequest searchRequest = new SearchRequest("posts");
searchRequest.types("doc"); // here you need to pass your type name.
推荐阅读
- javascript - this.parentElement 和 element.parentElement 有什么区别?
- python - 如何让 Visual Studio 使用我选择的环境运行?
- c - Obtain a vertex after a transform in OpenGL?
- google-api - 创建活动系列的问题
- django - 如何在 django 中以 pbkdf2_sha256 格式存储用户密码?
- python - 如何从 statsmodels.tsa.api 中提取系数矩阵
- javascript - 如何结合父 SVG、子 SVG、PNG 和工具提示?
- c++ - 当我尝试在 mainwindow.cpp 之外初始化 QSerialPort 时,QT 出错
- python - 在 jupyterlab 笔记本中导入模块
- c++ - 使用 GDAL C++ 读取 NITF 文件