今、フィールドで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 を使用して、2 つの子のクエリを実行しようとしました。
一つは
.setQuery(QueryBuilders.idsQuery(TYPE).ids(query))
もう一つは
.setQuery(QueryBuilders.multiMatchQuery(query,
TITLE,DESCRIPTION))
残念ながら、タイトルまたは説明で結果を取得するだけです。IDで検索しても結果が出ません。
================ このように実行したい
curl -XGET localhost:9200/test/series/99
IDで結果を取得したい。残念ながら、JAVA API でこのコードを作成する方法がよくわかりません。
私にお知らせください。ありがとう。