Извините, если это глупый вопрос.Я использую сервис, который был построен с использованием клиента 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, и я попытался прочитать документацию, но это только приводит к еще большей путанице.