我有一个 Odata 查询: /ecommerceadmin/ODataService.svc/search?$select=status &$filter=id eq'test.com‘和名称eq’abc’
如何在elasticsearch中实现代码以相应地获取数据。应使用 SearchSourceBuilder 中的 哪种 方法?
您可以轻松地摆脱一个match和一个这样的term查询:
match
term
import org.elasticsearch.action.search.SearchResponse; import org.elasticsearch.index.query.QueryBuilders.*; BoolQueryBuilder query = QueryBuilders.boolQuery() .must(QueryBuilders.matchQuery("name", "abc")) // 1. .filter(QueryBuilders.termQuery("id", "test.com")); // 2. SearchResponse response = client.prepareSearch("ecommerce_index") .setTypes("ecommerce_type") .setQuery(query) .setFetchSource(new String[]{"status"}, null) // 3. .setFrom(0) .setSize(10) .execute() .actionGet();
在上面的代码中:
name eq 'abc'
id eq 'test.com'
$select=status