Elastic Go не может найти документ - PullRequest
0 голосов
/ 15 ноября 2018

Извините, если это глупый вопрос.Я использую сервис, который был построен с использованием клиента Elasticsearch для Go.Я запускаю службу, и теперь кажется, что у сервера Flexiblesearch есть индекс данных.Однако, когда я попытался запросить эти данные с помощью http://129.94.14.234:9200/chromosomes/chromosome/1, я получил {"_index":"chromosomes","_type":"chromosome","_id":"1","_version":1,"found":true,"_source":{"id":"1","length":249250621}}, и я проверил, что запрос SQL из базы данных содержит эти данные.Теперь вопрос в том, как проверить, что в моем индексе эластичного поиска есть эти данные?Или, если кто-нибудь может сказать мне, что может быть не так в коде, который также будет хорош.

Вот код, который я предполагаю, добавляя документы в индекс chromosomes.

    func (c ChromosomeIndexer) AddDocuments(db *sql.DB, client *elastic.Client, coordID int) {
    sqlQuery := fmt.Sprintf("SELECT seq_region.name, seq_region.length FROM seq_region WHERE seq_region.`name` REGEXP '^[[:digit:]]{1,2}$|^[xXyY]$|(?i)^mt$' AND seq_region.`coord_system_id` = %d", coordID)
    stmtOut, err := db.Prepare(sqlQuery)
    check(err)
    defer stmtOut.Close()
    stmtOut.Query()
    rows, err := stmtOut.Query()
    defer rows.Close()
    check(err)

    chromoFn := func(rows *sql.Rows, bulkRequest *elastic.BulkService) {
        var name string
        var length int
        err = rows.Scan(&name, &length)
        check(err)
        chromo := Chromosome{ID: name, Length: length}
        fmt.Printf("chromoID: %s\n", chromo.ID)
        req := elastic.NewBulkIndexRequest().
            OpType("index").
            Index("chromosomes").
            Type("chromosome").
            Id(chromo.ID).
            Doc(chromo)
        bulkRequest.Add(req)
    }
    elasticutil.IterateSQL(rows, client, chromoFn)

}

У этой службы есть другой индекс, по которому я могу без проблем запросить данные, у меня проблема только при запросе chromosomes данных.

Пожалуйста, дайте мне знать, если мне нужно добавить больше кода, чтобы я мог датьнемного больше информации о проблеме, я только начал на Go и Elasticsearch, и я попытался прочитать документацию, но это только приводит к еще большей путанице.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...