现在我想在字段中搜索 id。
builder.startObject().startObject(TYPE_SERIES).startObject("properties");
builder.startObject(ID)
.field("type", "long")
.field("store", "yes")
.field("index", "analyzed")
.field("analyzer", "test_analyzer")
.endObject();
builder.startObject(TITLE)
.field("type", "string")
.field("store", "yes")
.field("index", "analyzed")
.field("analyzer", "test_analyzer")
.field("boost", "10")
.endObject();
我试图像这样搜索ID:
.setQuery(QueryBuilders.multiMatchQuery(query,
ID, TITLE))
顺便说一句,我可以用 id 得到结果,而不是用标题搜索。我只是用 id 搜索以获得结果。
所以我改变了这个。我使用了 MultiSearchResponse,以便尝试执行两个子查询。
一个是
.setQuery(QueryBuilders.idsQuery(TYPE).ids(query))
另一个是
.setQuery(QueryBuilders.multiMatchQuery(query,
TITLE,DESCRIPTION))
不幸的是,我只得到带有标题或描述的结果。如果我搜索 ID,我无法得到任何结果。
================我想这样执行
curl -XGET localhost:9200/test/series/99
我想用 ID 获得结果。不幸的是,我不太清楚如何使用 JAVA API 制作这段代码。
请告诉我。谢谢。