0

I want to open f.csv file consisting of 5 rows x 17 columns with python elasticsearch, index the contents and then search over any text_id value in the column

I can load elasticsearch a csv file and query it for id. but I can't search in it with

es.search

parameter. It constantly gives different problems. If I solve one problem, another starts. I leave the sample code below. but instead of fixing my code, could you at least share a simple example of how to do that?

mapping = {
   "settings": {
      "index": {
         "number_of_shards": 20,
         "number_of_replicas": 1
      }
   },
   "mappings": {
      "properties": {
         "username": {
            "type": "text",
            "fields": {
               "keyword": {
                  "type": "keyword",
                  "ignore_above": 256
               }
            }
         },
         "pass": {
            "type": "text",
            "fields": {
               "keyword": {
                  "type": "keyword",
                  "ignore_above": 256
               }
            }
         },
         "mail": {
            "type": "text",
            "fields": {
               "keyword": {
                  "type": "keyword",
                  "ignore_above": 256
               }
            }
         },
         "birth_day": {
            "type": "date",
            "fields": {
               "keyword": {
                  "type": "keyword",
                  "ignore_above": 256
               }
            }
         },
         "country": {
            "type": "text",
            "fields": {
               "keyword": {
                  "type": "keyword",
                  "ignore_above": 256
               }
            }
         },
         "province": {
            "type": "text",
            "fields": {
               "keyword": {
                  "type": "keyword",
                  "ignore_above": 256
               }
            }
         },
         "description": {
            "type": "text",
            "fields": {
               "keyword": {
                  "type": "keyword",
                  "ignore_above": 256
               }
            }
         },
         "useragent": {
            "type": "text",
            "fields": {
               "keyword": {
                  "type": "keyword",
                  "ignore_above": 256
               }
            }
         },
         "meta": {
            "type": "text",
            "fields": {
               "keyword": {
                  "type": "keyword",
                  "ignore_above": 256
               }
            }
         },
         "postal": {
            "type": "text",
            "fields": {
               "keyword": {
                  "type": "keyword",
                  "ignore_above": 256
               }
            }
         }
      }
   }
}


es.indices.create(index='first_index')
with open('f.csv') as f:
    reader = csv.DictReader(f)
    helpers.bulk(es, reader, index='first_index')

resp = es.search(index="first_index", query={"match_all": {}})

print("Got %d Hits:" % resp['hits']['total']['value'])
for hit in resp['hits']['hits']:
    print("%(timestamp)s %(author)s: %(text)s" % hit["_source"])

0 Answers0