我想在
中动态获取indexname
@Document(indexName="Something",type="type")
我尝试使用以下代码:
@Document(indexName="#{systemProperties['databaseName'] }", type = "dbtype")
但是在运行时,当我从UI发送两个请求以从不同索引从ES获取数据时,它无法正常工作。
我该怎么做才能解决这个问题?
答案 0 :(得分:0)
解决方法是使用NativeSearchQuerries。 在那里,您可以将索引设置为您喜欢的任何内容:
NativeSearchQuery query = new NativeSearchQueryBuilder().withIndices(indexName)
.withQuery(QueryBuilders.matchPhraseQuery("_all", request.getSearchTerm().getSearchString()))
.withPageable(new PageRequest(request.getPaging(), request.getMaxResults()))
....
.build();
result =elastic.query(query, query->query2Result(query));