您正在使事情变得复杂,并试图在Elasticsearch中适应MySQL概念。在这种情况下,您需要正确定义索引映射(根据搜索要求来字段数据类型及其分析器),并相应地构建查询。
我已经获取了您的示例,并且没有更改索引映射和示例文档,但是更改了搜索查询以显示如何处理现有数据和需求(可能无法在所有情况下都有效,但是您有所了解)搜索。
搜索查询
{ "query": { "multi_match": { --> note and read about multi_match query "query": "36695", "fields": [ "address", "city_pre", --> add more fields if you need to be "zip_pre", "contact_no" ] } }}搜索结果将带您的示例文档:
"hits": [ { "_index": "so_mysql_dsl", "_type": "_doc", "_id": "1", "_score": 0.2876821, "_source": { "promotion": null, "image": null, "name": "Port City Realty", "city_pre": "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_pre": "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_pre": "36695", "private_contact": null, "location_id": 0, "sundayclose": null } } ]


