带有json字段的弹性搜索和其他字段的优先级并在顶部过滤数据

时间:2019-05-30 05:38:09

标签: elasticsearch search

我将使用具有某些选定领域优先级的弹性搜索引擎进行搜索。目前,我有以下查询,用于在选定字段(cna ==城市名称)中搜索“ lon”(不是优先级为10的优先级)。

我想添加cna(cnm ==国家/地区名称)字段以在顶部过滤“ lon”搜索词,然后加载另一个匹配列表。

http://{{ELASTIC_SEARCH_URL}}/rezproduction@@city/city/_search?default_operator=AND&q=cna:lon*&size=10

我在这里添加了示例源json。

{ rid   "3"
    aid "0"
    rnm "North America"
    anm ""
    cid "12051"
    cnid    "55"
    cncd    "US"
    sbid    ""
    sid "50"
    lat "46.35564"
    lon "-124.05565"
    index   0
    type    "City"
    google  "N"
    cna "Long Beach"
    cnm "USA"
    sna "Washington"}

1 个答案:

答案 0 :(得分:0)

我找到了上述问题的解决方案。

http://{{ELASTIC_SEARCH_URL}}/rezproduction@@city/city/_search?default_operator=AND&q=(cna:lon* AND cnm:{{Country Name which is priority}}) OR (cna:lon*)&size=10

我为优先级列名称添加了具有 AND 条件的其他查询参数。在这里,我已使用国家名称字段作为优先级。