ElasticSearch cannot find an exact value that exists in a string field - java

When I do an empty query to list some results, I see the values are there. Ex:
{
"took": 6,
"timed_out": false,
"_shards": {
"total": 5,
"successful": 5,
"failed": 0
},
"hits": {
"total": 3024,
"max_score": 1.0,
"hits": [{
"_index": "geotiff_test",
"_type": "geometa",
"_id": "AVtt5-j6uVuoyTMhX204",
"_score": 1.0,
"_source": {
"thumbnail": "thumbnail1029.png"
}
}, {
"_index": "geotiff_test",
"_type": "geometa",
"_id": "AVtt5-mTuVuoyTMhX205",
"_score": 1.0,
"_source": {
"thumbnail": "thumbnail1321.png"
}
}, {
"_index": "geotiff_test",
"_type": "geometa",
"_id": "AVtt5-xkuVuoyTMhX209",
"_score": 1.0,
"_source": {
"thumbnail": "thumbnail2567.png"
}
}, {
"_index": "geotiff_test",
"_type": "geometa",
"_id": "AVtt5zr8uVuoyTMhX20F",
"_score": 1.0,
"_source": {
"thumbnail": "thumbnail2122.png"
}
}, {
"_index": "geotiff_test",
"_type": "geometa",
"_id": "AVtt5z23uVuoyTMhX20L",
"_score": 1.0,
"_source": {
"thumbnail": "thumbnail1823.png"
}
}, {
"_index": "geotiff_test",
"_type": "geometa",
"_id": "AVtt5-53uVuoyTMhX21A",
"_score": 1.0,
"_source": {
"thumbnail": "thumbnail1616.png"
}
}, {
"_index": "geotiff_test",
"_type": "geometa",
"_id": "AVtt5_AXuVuoyTMhX21C",
"_score": 1.0,
"_source": {
"thumbnail": "thumbnail3002.png"
}
}, {
"_index": "geotiff_test",
"_type": "geometa",
"_id": "AVtt5_j3uVuoyTMhX21U",
"_score": 1.0,
"_source": {
"thumbnail": "thumbnail3039.png"
}
}, {
"_index": "geotiff_test",
"_type": "geometa",
"_id": "AVtt5_yQuVuoyTMhX21d",
"_score": 1.0,
"_source": {
"thumbnail": "thumbnail1136.png"
}
}, {
"_index": "geotiff_test",
"_type": "geometa",
"_id": "AVtt5zbquVuoyTMhX20C",
"_score": 1.0,
"_source": {
"thumbnail": "thumbnail166.png"
}
}, {
"_index": "geotiff_test",
"_type": "geometa",
"_id": "AVtt5zfsuVuoyTMhX20E",
"_score": 1.0,
"_source": {
"thumbnail": "thumbnail2767.png"
}
}, {
"_index": "geotiff_test",
"_type": "geometa",
"_id": "AVtt59jQuVuoyTMhX20p",
"_score": 1.0,
"_source": {
"thumbnail": "thumbnail2852.png"
}
}, {
"_index": "geotiff_test",
"_type": "geometa",
"_id": "AVtt5_PpuVuoyTMhX21J",
"_score": 1.0,
"_source": {
"thumbnail": "thumbnail1392.png"
}
}, {
"_index": "geotiff_test",
"_type": "geometa",
"_id": "AVtt58YguVuoyTMhX20N",
"_score": 1.0,
"_source": {
"thumbnail": "thumbnail603.png"
}
}, {
"_index": "geotiff_test",
"_type": "geometa",
"_id": "AVtt5_38uVuoyTMhX21h",
"_score": 1.0,
"_source": {
"thumbnail": "thumbnail416.png"
}
}, {
"_index": "geotiff_test",
"_type": "geometa",
"_id": "AVtt5-JFuVuoyTMhX20y",
"_score": 1.0,
"_source": {
"thumbnail": "thumbnail896.png"
}
}, {
"_index": "geotiff_test",
"_type": "geometa",
"_id": "AVtt6B1NuVuoyTMhX22i",
"_score": 1.0,
"_source": {
"thumbnail": "thumbnail846.png"
}
}, {
"_index": "geotiff_test",
"_type": "geometa",
"_id": "AVtt6B3vuVuoyTMhX22k",
"_score": 1.0,
"_source": {
"thumbnail": "thumbnail1214.png"
}
}, {
"_index": "geotiff_test",
"_type": "geometa",
"_id": "AVtt6B90uVuoyTMhX22o",
"_score": 1.0,
"_source": {
"thumbnail": "thumbnail1536.png"
}
}, {
"_index": "geotiff_test",
"_type": "geometa",
"_id": "AVtt6COkuVuoyTMhX22y",
"_score": 1.0,
"_source": {
"thumbnail": "thumbnail246.png"
}
}]
}
}
Yet when I run a query like this, it returns nothing:
curl -X POST http://localhost:9200/geotiff_test/geometa/_search -d '{
"query": {
"term": {
"thumbnail": "thumbnail1536.png"
}
}
}'
This is the result:
{
"took": 1,
"timed_out": false,
"_shards": {
"total": 5,
"successful": 5,
"failed": 0
},
"hits": {
"total": 0,
"max_score": null,
"hits": []
}
}
If this were Solr, all I want to do is run this simple query: thumbnail:"thumbnail1536.png"
Can someone tell me what is going wrong here?

Exact term is not matching because your document field thumbnail got analyzed with standard analyzer and stored it as thumbnail1536 and png.
In Elasticsearch there are different queries for text (full-text) and keyword (exact-term). The one you written comes under latter category.
If you run following full-text query you will get desired results:
curl -X POST http://localhost:9200/geotiff_test/geometa/_search -d '{
"query": {
"match": {
"thumbnail": "thumbnail1536.png"
}
}
}'
But as you are trying to search for exact-term using term queries are preferred.
curl -X POST http://localhost:9200/geotiff_test/geometa/_search -d '{
"query": {
"term": {
"thumbnail.keyword": "thumbnail1536.png"
}
}
}'
Note: Here .keyword is keyword version of thumbnail field.
Although both yield same results, the above query is more efficient than former one.

It depends on how your field is mapped/typed. Please refer to this link from the elastic search website.
Note that you could alter the mapping to better suit your needs.

Related

How I can do Elastic Search nested query with java api, QueryBuilder

Here is the object cuptured with kibana, which should be returned with java api
{
"_index": "backend:nips-000320",
"_type": "_doc",
"_id": "qhcOVoQBFSMoMXEJjh46",
"_version": 1,
"_score": 0,
"_source": {
"severity": 5,
"priority": 37,
"#geo": {
"Source": {
"Continent": {
"Code": "EU",
"GeoNameID": 6255148,
"Name": "Europe"
},
"Country": {
"IsInEuropeanUnion": false,
"IsoCode": "UA",
"GeoNameID": 690791,
"Name": "Ukraine"
}
}
},
"timestamp": "2022-11-08T07:04:52Z"
},
"fields": {}
}
The problem is that I can't find a way to do this kind of nested query with java code and get this:
"#geo"."Source"."Country"."IsoCode" grouped by the value of "IsoCode".
like this :
[\{"iso_code": "US", "count": 15}, \{"iso_code": "AE", "count": 102}, {}...]
I am trying with QueryBuilder api, but no results yet. Any ideas would be appreciated.

Group, Project, Aggregation, Sort, MongoDB Query to Spring Data

I want to group by below mongo collection.
Group by for year and month. and I want to populate the below java class as a list. I tried many ways could not find the relevant article so I'm publishing problem here,
[{
"_id": {
"$oid": "620f09ff8ed7d86747d45344"
},
"user_id": "620f09808ed7d86747d4533f",
"price": 351,
"created_time": {
"$date": "2021-12-18T02:52:47.837Z"
},
"orderItem": [
{
"bookId": "620e02dacc3e1d31bd8deb54",
"qty": 1,
"unitPrice": 101
},
{
"bookId": "620f033cb4e4494aff6ef56c",
"qty": 1,
"unitPrice": 250
}
],
"_class": "com.code.onlinebookstoreservice.entity.Order"
},{
"_id": {
"$oid": "620f57e0e7d4cf6156c16682"
},
"user_id": "620f09b98ed7d86747d45343",
"price": 610,
"created_time": {
"$date": "2022-01-18T08:25:04.569Z"
},
"orderItem": [
{
"bookId": "620f0313b4e4494aff6ef56b",
"qty": 1,
"unitPrice": 150
},
{
"bookId": "620f0347b4e4494aff6ef56d",
"qty": 2,
"unitPrice": 230
}
],
"_class": "com.code.onlinebookstoreservice.entity.Order"
},{
"_id": {
"$oid": "620f58aafde9e82682d5a725"
},
"user_id": "620f09b98ed7d86747d45343",
"price": 380,
"created_time": {
"$date": "2022-02-18T08:28:26.483Z"
},
"orderItem": [
{
"bookId": "620f0313b4e4494aff6ef56b",
"qty": 1,
"unitPrice": 150
},
{
"bookId": "620f0347b4e4494aff6ef56d",
"qty": 1,
"unitPrice": 230
}
],
"_class": "com.code.onlinebookstoreservice.entity.Order"
},{
"_id": {
"$oid": "620fb8ead2463f3c44d87108"
},
"user_id": "620f09b98ed7d86747d45343",
"price": 380,
"created_time": {
"$date": "2022-01-18T15:19:06.938Z"
},
"orderItem": [
{
"bookId": "620f0313b4e4494aff6ef56b",
"qty": 1,
"unitPrice": 150
},
{
"bookId": "620f0347b4e4494aff6ef56d",
"qty": 1,
"unitPrice": 230
}
],
"_class": "com.code.onlinebookstoreservice.entity.Order"
},{
"_id": {
"$oid": "620fb8ebd2463f3c44d87109"
},
"user_id": "620f09b98ed7d86747d45343",
"price": 380,
"created_time": {
"$date": "2021-12-18T15:19:07.829Z"
},
"orderItem": [
{
"bookId": "620f0313b4e4494aff6ef56b",
"qty": 1,
"unitPrice": 150
},
{
"bookId": "620f0347b4e4494aff6ef56d",
"qty": 1,
"unitPrice": 230
}
],
"_class": "com.code.onlinebookstoreservice.entity.Order"
},{
"_id": {
"$oid": "620fb8ecd2463f3c44d8710a"
},
"user_id": "620f09b98ed7d86747d45343",
"price": 380,
"created_time": {
"$date": "2022-01-18T15:19:08.575Z"
},
"orderItem": [
{
"bookId": "620f0313b4e4494aff6ef56b",
"qty": 1,
"unitPrice": 150
},
{
"bookId": "620f0347b4e4494aff6ef56d",
"qty": 1,
"unitPrice": 230
}
],
"_class": "com.code.onlinebookstoreservice.entity.Order"
},{
"_id": {
"$oid": "620fb8edd2463f3c44d8710b"
},
"user_id": "620f09b98ed7d86747d45343",
"price": 380,
"created_time": {
"$date": "2022-02-18T15:19:09.269Z"
},
"orderItem": [
{
"bookId": "620f0313b4e4494aff6ef56b",
"qty": 1,
"unitPrice": 150
},
{
"bookId": "620f0347b4e4494aff6ef56d",
"qty": 1,
"unitPrice": 230
}
],
"_class": "com.code.onlinebookstoreservice.entity.Order"
},{
"_id": {
"$oid": "620fb8edd2463f3c44d8710c"
},
"user_id": "620f09b98ed7d86747d45343",
"price": 380,
"created_time": {
"$date": "2022-02-18T15:19:09.867Z"
},
"orderItem": [
{
"bookId": "620f0313b4e4494aff6ef56b",
"qty": 1,
"unitPrice": 150
},
{
"bookId": "620f0347b4e4494aff6ef56d",
"qty": 1,
"unitPrice": 230
}
],
"_class": "com.code.onlinebookstoreservice.entity.Order"
},{
"_id": {
"$oid": "620fb8eed2463f3c44d8710d"
},
"user_id": "620f09b98ed7d86747d45343",
"price": 380,
"created_time": {
"$date": "2022-02-18T15:19:10.374Z"
},
"orderItem": [
{
"bookId": "620f0313b4e4494aff6ef56b",
"qty": 1,
"unitPrice": 150
},
{
"bookId": "620f0347b4e4494aff6ef56d",
"qty": 1,
"unitPrice": 230
}
],
"_class": "com.code.onlinebookstoreservice.entity.Order"
},{
"_id": {
"$oid": "620fb8eed2463f3c44d8710e"
},
"user_id": "620f09b98ed7d86747d45343",
"price": 380,
"created_time": {
"$date": "2022-02-18T15:19:10.785Z"
},
"orderItem": [
{
"bookId": "620f0313b4e4494aff6ef56b",
"qty": 1,
"unitPrice": 150
},
{
"bookId": "620f0347b4e4494aff6ef56d",
"qty": 1,
"unitPrice": 230
}
],
"_class": "com.code.onlinebookstoreservice.entity.Order"
},{
"_id": {
"$oid": "620fb8f0d2463f3c44d8710f"
},
"user_id": "620f09b98ed7d86747d45343",
"price": 380,
"created_time": {
"$date": "2022-02-18T15:19:12.250Z"
},
"orderItem": [
{
"bookId": "620f0313b4e4494aff6ef56b",
"qty": 1,
"unitPrice": 150
},
{
"bookId": "620f0347b4e4494aff6ef56d",
"qty": 1,
"unitPrice": 230
}
],
"_class": "com.code.onlinebookstoreservice.entity.Order"
},{
"_id": {
"$oid": "620fb8f0d2463f3c44d87110"
},
"user_id": "620f09b98ed7d86747d45343",
"price": 380,
"created_time": {
"$date": "2022-02-18T15:19:12.762Z"
},
"orderItem": [
{
"bookId": "620f0313b4e4494aff6ef56b",
"qty": 1,
"unitPrice": 150
},
{
"bookId": "620f0347b4e4494aff6ef56d",
"qty": 1,
"unitPrice": 230
}
],
"_class": "com.code.onlinebookstoreservice.entity.Order"
}]
Finally, I was able to create a native query it is as below,
db.order.aggregate([
{
$project: {
total_book_count: {
$sum: "$orderItem.qty"
},
total_purches_amount: {
"$sum": "$price"
},
monthly: {
$dateToString: {
format: "%Y-%m",
date: "$created_time"
}
}
}
},
{
$group: {
_id: "$monthly",
total_order_count: {
$count: {}
},
total_book_count: {
$sum: "$total_book_count"
},
total_purches_amount: {
$sum: "$total_purches_amount"
}
}
},
{
$sort: {
total_order_count: -1
}
}
])
My Java Class is like below, ultimately I want this output as an array.
#Getter
#Setter
public class StaticDto {
private String _id;
private Integer totalOrderCount;
private Integer totalBookCount;
private Integer totalPurchasedAmount;
}
Finally, I was able to create a aggregation query for my problem,
public ResponseEntity<List<StaticDto>> getStatistics() {
AggregationExpression totalQty = AccumulatorOperators.Sum.sumOf("orderItem.qty");
AggregationExpression totalPrice = AccumulatorOperators.Sum.sumOf("price");
Aggregation agg = Aggregation.newAggregation(
project()
.and(totalQty).as("total_book_count")
.and(totalPrice).as("total_purchase_amount")
.and("created_time").dateAsFormattedString("%Y-%m").as("month"),
group("month")
.count().as("totalOrderCount")
.sum("total_book_count").as("totalBookCount")
.sum("total_purchase_amount").as("totalPurchasedAmount"),
sort(Sort.Direction.DESC, "month")
);
AggregationResults<StaticDto> staticDtos =
mongoTemplate.aggregate(agg, "order", StaticDto.class);
return ResponseEntity.status(HttpStatus.OK).body(staticDtos.getMappedResults());
}

Elastic Search query Not workng with java but with elastic URI

I created an Index for a few documents. However I am facing trouble while running for a search query as it is showing zero hits. Find the indexing file, indexed data and and Java code below:
Mapping.json:
{
"settings": {
"index": {
"max_ngram_diff": 39
},
"analysis": {
"normalizer": {
"custom_normalizer": {
"type": "custom",
"char_filter": [],
"filter": [
"lowercase",
"asciifolding"
]
}
},
"analyzer": {
"custom_analyzer": {
"tokenizer": "custom_tokenizer",
"filter": [
"lowercase"
]
},
"autocomplete_search": {
"type": "custom",
"tokenizer": "keyword",
"filter": "lowercase"
}
},
"tokenizer": {
"custom_tokenizer": {
"type": "ngram",
"min_gram": 1,
"max_gram": 40,
"token_chars": [
"letter",
"digit",
"whitespace",
"punctuation",
"symbol"
]
}
}
}
},
"mappings": {
"type_name": {
"properties": {
"primaryTerm": {
"type": "text",
"analyzer": "custom_analyzer",
"search_analyzer": "autocomplete_search",
"fielddata": "true",
"fields": {
"raw": {
"type": "keyword",
"normalizer": "custom_normalizer"
}
}
},
"entityType": {
"type": "keyword",
"normalizer": "custom_normalizer"
},
"variants": {
"type": "text",
"analyzer": "custom_analyzer",
"search_analyzer": "autocomplete_search",
"fielddata": "true",
"fields": {
"raw": {
"type": "keyword",
"normalizer": "custom_normalizer"
}
}
}
}
}
}
}
Elastic data.json:
{
"took": 82,
"timed_out": false,
"_shards": {
"total": 1,
"successful": 1,
"skipped": 0,
"failed": 0
},
"hits": {
"total": {
"value": 4,
"relation": "eq"
},
"max_score": 1,
"hits": [
{
"_index": "relmap",
"_type": "type_name",
"_id": "X4NutXcBKX-KYFzehi4s",
"_score": 1,
"_source": {
"entityType": "Agency",
"primaryTerm": "K2IPR INTELLECTUAL PROPERTY ATTORNEYS",
"variants": [
"K2IPR",
"K2I.P.R. (PATENT & TRADEMARK ATTRONEYS)",
"K2I.P.R",
"K2.I.P.R",
"K2 I.P.R",
"K2 I.P.R",
"K2 IPR",
"K2 I. P. R."
]
}
},
{
"_index": "relmap",
"_type": "type_name",
"_id": "YINutXcBKX-KYFzeoy7V",
"_score": 1,
"_source": {
"entityType": "Agency",
"primaryTerm": "EPIPHANY IP SOLUTIONS PVT. LTD.",
"variants": [
"EPIPHANY IP SOLUTIONS PRIVATE LIMITED",
"EPIPHANY IP SOLUTIONS PVT. LTD"
]
}
},
{
"_index": "relmap",
"_type": "type_name",
"_id": "YYNutXcBKX-KYFzepC44",
"_score": 1,
"_source": {
"entityType": "Agency",
"primaryTerm": "Natural Remedies Private Limited",
"variants": [
"NATURAL REMEDIES PVT. LTD",
"NATURAL REMEDIES PVT LTD",
"NATURAL REMEDIES"
]
}
},
{
"_index": "relmap",
"_type": "type_name",
"_id": "YoNutXcBKX-KYFzepC5i",
"_score": 1,
"_source": {
"entityType": "Agency",
"primaryTerm": "NICHE, INTELLECTUAL PROPERTY OFFICES",
"variants": [
"NICHE INTELLECTUAL PROPERTY OFFICES",
"NICHE INTELLECTUAL PROPERTY OFFICECS",
"NICHE INTELLECTUAL PROPERTY LAW OFFICES"
]
}
}
]
}
}
Search query:
String query="{\"query_string\":{\"query\":\""+searchTerm.toUpperCase()+"\",\"default_operator\":\"AND\",\"default_field\":\"primaryTerm\"}}";
Java Code for elastic Query:
SearchResponse searchResponse=null;
try {
String queryJson=json;
System.out.println("queryJson:"+queryJson);
//System.out.println(indexName);
SearchRequest searchRequest = new SearchRequest(indexName);
SearchSourceBuilder searchSourceBuilder = new SearchSourceBuilder();
searchSourceBuilder.from(start)
.size(length)
.query(QueryBuilders.wrapperQuery(queryJson));
searchRequest.source(searchSourceBuilder);
searchResponse = elasticsearchRestTemplate.getClient().search(searchRequest, RequestOptions.DEFAULT);
For a Search Term = 'Ni' in an autosuggest drpDown I am getting zero hits for the field 'primaryTerm'
I also tried the termQuerybuilder instead of wrapper query:
SearchRequestBuilder searchRequestBuilder = client.prepareSearch("relmap");
SearchResponse searchResponse = searchRequestBuilder.
setQuery(QueryBuilders.boolQuery().must(QueryBuilders.termQuery("variants", "NATURAL REMEDIES PVT. LTD"))).setFrom(0).setSize(1000).setExplain(true).setTrackTotalHits(true).execute().actionGet();
SearchHits searchHits = searchResponse.getHits();
Interestinlgy I am getting the desired output with elastic url.
Elastic URI code:
http://localhost:9201/relmap/_search?q=NIC&df=primaryTerm&explain=true&default_operator=AND
Can anyone help let me know the fault /correct way to get the hits from the query

Looking for highlight search where it will return all matching fields from one record

In highlighting search for my application how search works for us is if we pass pageSize it will only return one matching field from record.
For example
There are 4 records
remaining information added in comments as I am unable add code here please advice how can I achieve this requirement
If you need to highlight the result of all matching fields of each document, then you can achieve this in the following way:
Adding a working example with index data, mapping, search query, and search result
Index Mapping:
{
"settings": {
"analysis": {
"analyzer": {
"my_analyzer": {
"tokenizer": "my_tokenizer"
}
},
"tokenizer": {
"my_tokenizer": {
"type": "edge_ngram",
"min_gram": 2,
"max_gram": 20,
"token_chars": [
"letter",
"digit"
]
}
}
},
"max_ngram_diff": 50
},
"mappings": {
"properties": {
"name": {
"type": "text",
"analyzer": "my_analyzer"
},
"lastname": {
"type": "text",
"analyzer": "my_analyzer"
},
"firstname": {
"type": "text",
"analyzer": "my_analyzer"
}
}
}
}
Index Data:
{
"name": "jhon",
"Age": 24,
"lastname": "willam",
"firstname": "henry"
}
{
"name": "kellin",
"Age": 24,
"lastname": "kevin",
"firstname": "mathew"
}
{
"name": "keeper",
"Age": 24,
"lastname": "Jr",
"firstname": "gomez"
}
{
"name": "Asif",
"Age": 24,
"lastname": "peter",
"firstname": "willaim kemp"
}
Search Query:
{
"query": {
"multi_match": {
"query": "ke"
}
},
"highlight": {
"fields": {
"*": {
"type": "plain",
"fragment_size": 20,
"pre_tags": "<span class='bold'>",
"post_tags": "</span>",
"number_of_fragments": 1
}
}
}
}
Search Result:
"hits": [
{
"_index": "64996939",
"_type": "_doc",
"_id": "2",
"_score": 1.1374959,
"_source": {
"name": "kellin",
"Age": 24,
"lastname": "kevin",
"firstname": "mathew"
},
"highlight": {
"name": [
"<span class='bold'>ke</span>llin"
], <-- note this
"lastname": [
"<span class='bold'>ke</span>vin"
]
}
},
{
"_index": "64996939",
"_type": "_doc",
"_id": "4",
"_score": 0.9552834,
"_source": {
"name": "Asif",
"Age": 24,
"lastname": "peter",
"firstname": "willaim kemp"
},
"highlight": {
"firstname": [
"willaim <span class='bold'>ke</span>mp" <-- note this
]
}
},
{
"_index": "64996939",
"_type": "_doc",
"_id": "3",
"_score": 0.62883455,
"_source": {
"name": "keeper",
"Age": 24,
"lastname": "Jr",
"firstname": "gomez"
},
"highlight": {
"name": [
"<span class='bold'>ke</span>eper" <--note this
]
}
}
]

ElasticSearch: query a deep date field using an hours-range filter independent date

How can I query all the advert using the field
("group": { "times": [{"startTime", "startTime"}]})
no matter the date is, query is base on hours-range.
My index is like (for example "startTime": "2016-12-13T09:00:00+08:00",
"endTime": "2016-12-13T22:00:00+08:00", but I just care about the "09:00:00" and "22:00:00"):
{
"_index": "advert",
"_type": "advert",
"_id": "6217903907666941952",
"_score": 7.730222,
"_source": {
"id": "6217903907666941952",
"promotionUrl": "http://www.baidu.com",
"summary": "test",
"user": {
"createdBy": "ag-kf",
"createdDate": "2016-12-05T11:48:52+08:00",
"lastModifiedBy": "admin",
"lastModifiedDate": "2016-12-13T14:10:52+08:00",
"id": "6211385611895442432",
"login": "ag-ggz02",
"email": "testing0000019#21cn.com",
"region": null,
"activated": true,
"locked": false,
"langKey": "zh-cn"
},
"group": {
"createdBy": "ag-ggz02",
"id": "6214281669688469248",
"name": "AGggz002推广测试02",
"dailyLimit": 500,
"deliveryChannelsLimit": 5,
"startDate": "2017-01-12T00:00:00+08:00",
"endDate": "2017-01-19T00:00:00+08:00",
"paymentMode": "CPC",
"deliveryMode": "SPEEDUP",
"status": "VALID",
"times": [
{
"createdBy": "ag-ggz02",
"createdDate": "2017-01-12T14:40:59+08:00",
"lastModifiedBy": "ag-ggz02",
"lastModifiedDate": "2017-01-12T14:40:59+08:00",
"id": "6225199665533659392",
"startTime": "2016-12-13T09:00:00+08:00",
"endTime": "2016-12-13T22:00:00+08:00"
}
]
}
}}

Categories

Resources