sql >> Databáze >  >> RDS >> Mysql

Mysql dotaz na ElasticSearch

Komplikujete věci a snažíte se začlenit koncept MySQL do Elasticsearch. V tomto případě musíte správně definovat mapování indexu (datové typy polí a jejich analyzátor na základě požadavků na vyhledávání) a podle toho sestavit své dotazy.

Vzal jsem váš vzorek a nezměnil jsem vaše mapování indexu a vzorový dokument, ale změnil jsem vyhledávací dotaz tak, aby ukázal, jak to s vašimi stávajícími daty a požadavkem (nemusí ve všech případech fungovat, ale získáte představu) může přinést vyhledávání.

Vyhledávací dotaz

{
    "query": {
        "multi_match": { --> note and read about multi_match query
            "query": "36695",
            "fields": [
                "address",
                "city_code", --> add more fields if you need to be
                "zip_code",
                "contact_no"
            ]
        }
    }
}

Výsledek vyhledávání přináší váš ukázkový dokument:

 "hits": [
            {
                "_index": "so_mysql_dsl",
                "_type": "_doc",
                "_id": "1",
                "_score": 0.2876821,
                "_source": {
                    "promotion": null,
                    "image": null,
                    "name": "Port City Realty",
                    "city_code": "Mobile",
                    "services": null,
                    "promotion_exp_date": null,
                    "tuesdayopen": null,
                    "tuesdayclose": null,
                    "wednesdayopen": null,
                    "thursdayclose": null,
                    "@timestamp": "2020-03-13T15:44:45.330Z",
                    "date_updated": "2020-03-06T00:00:00.000Z",
                    "mondayopen": null,
                    "contact_no": "2516891228",
                    "id": 1941,
                    "fridayclose": null,
                    "featured": 0,
                    "main_cate": 1,
                    "wednesdayclose": null,
                    "sundayopen": null,
                    "state_code": "AL",
                    "video": null,
                    "address": "4826 Whispering Oaks Lane",
                    "user_id": null,
                    "slug": "2516891228-port-city-realty-mobile-al-36695",
                    "timezone": null,
                    "source": "USA Business",
                    "description": null,
                    "fridayopen": null,
                    "price": null,
                    "saturdayopen": null,
                    "saturdayclose": null,
                    "date_added": "2020-03-05T19:00:00.000Z",
                    "thursdayopen": null,
                    "@version": "1",
                    "status": 1,
                    "mondayclose": null,
                    "zip_code": "36695",
                    "private_contact": null,
                    "location_id": 0,
                    "sundayclose": null
                }
            }
        ]



  1. SELECT DISTINCT ignoruje různé případy

  2. Hibernate na Oracle:mapování vlastnosti String na sloupec CLOB

  3. Výkon/efektivita 2 příkazů SELECT vs. UNION vs cokoli jiného v MySQL-PHP

  4. Jak připojit NetBeans k databázi MySQL?