| 68 | } |
| 69 | |
| 70 | func (op *Operator) QueryDoc(ctx context.Context, indexName string, |
| 71 | query elastic.Query, sort *elastic.FieldSort, cols *elastic.FetchSourceContext, |
| 72 | page, size int) ( |
| 73 | result *elastic.SearchResult, err error) { |
| 74 | log.Debugf("try to query doc from index: %s, %d, %d", indexName, page, size) |
| 75 | from := (page - 1) * size |
| 76 | service := op.C.Search().Index(indexName).Query(query).From(from).Size(size) |
| 77 | if cols != nil { |
| 78 | service = service.FetchSourceContext(cols) |
| 79 | } |
| 80 | if sort != nil { |
| 81 | service = service.SortBy(sort) |
| 82 | } |
| 83 | result, err = service.Do(ctx) |
| 84 | if err != nil { |
| 85 | log.Errorf("query doc from index %s failed: %s", indexName, err.Error()) |
| 86 | return nil, err |
| 87 | } |
| 88 | return result, nil |
| 89 | } |
| 90 | |
| 91 | func (op *Operator) SaveDoc(ctx context.Context, indexName string, id string, doc interface{}) (err error) { |
| 92 | log.Debugf("try to save doc to index: %s, %s", indexName, id) |