- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如何在 Elasticsearch 中存储国家/州/城市信息
i.e there are many countries
each country has many states
each state has many cities
存储在关系数据库中更容易,但如果我想存储所有可能的组合,我应该在 Elasticsearch 中怎么做
我想在包含用户信息的某个索引中存储国家、州、城市位置
i.e users (first_name, last_name, country, state, city ...)
最佳答案
请不要将 Elasticsearch 与 RDBMS 混淆,因为您没有提到您的用例是什么,即它的全文搜索或聚合,我将向您展示如何使用您的数据实现全文搜索及其简单实现并且不需要太多的配置/复杂性来实现它。
因为一个用户一次只能停留在一个城市、州和国家,但如果您想为用户存储多个选项,这也是可以做到的,您只需要索引 ,
分隔值。
如果您需要对这些字段进行聚合,请将这些字段索引为关键字
,以便您可以对其进行聚合。
全文搜索的完整示例
索引映射
{
"mappings" :{
"properties" :{
"first_name" :{
"type" : "text"
},
"last_name" :{
"type" : "text"
},
"country" :{
"type" : "text"
},
"state" :{
"type" : "text"
},
"city" :{
"type" : "text"
}
}
}
}
索引示例文档
{
"first_name" : "abc",
"last_name" : "xyz",
"country": "USA",
"state" : "California",
"city" : "SF"
}
{
"first_name" : "opster",
"last_name" : "ninja",
"country": "Israel",
"state" : "na",
"city" : "tel aviv"
}
{
"first_name" : "abc",
"last_name" : "xyz",
"country": "USA",
"state" : "California, washintion", // not two state
"city" : "SF"
}
现在搜索 California
将返回第一个和第三个文档,如下所示
{
"query": {
"match": {
"state": "california"
}
}
}
和搜索结果
"hits": [
{
"_index": "so_63601020",
"_type": "_doc",
"_id": "3",
"_score": 0.38845783,
"_source": {
"first_name": "abc",
"last_name": "xyz",
"country": "USA",
"state": "California",
"city": "SF"
}
},
{
"_index": "so_63601020",
"_type": "_doc",
"_id": "2",
"_score": 0.2863813,
"_source": {
"first_name": "foo",
"last_name": "bar",
"country": "USA",
"state": "California, washington",
"city": "SF"
}
}
]
关于elasticsearch - 如何在 Elasticsearch 中存储国家/州/城市信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63601020/
我的所有照片上都有 GPS 坐标。我想包括城市、州、 zip 等的标签/IPTC 数据。但是我只有 GPS 坐标。我怎样才能以自动化的方式获取这些并获得有意义的信息(我有成千上万张照片,所以将每一张都
在我的网络应用程序中,我有以下要求。 我需要一个国家/地区的下拉列表。 根据选择的国家/地区,我需要显示相应的州。 我需要从数据库中获取国家/地区和州。 我无法使用 JavaScript,因为在生产(
var geocoder = new google.maps.Geocoder(); geocoder.geocode({'latLng': foundLoc}, functi
我正在构建一个代表美国州或加拿大省的类。这个类应该叫什么? 一些想法: 地区:问题在于 .Net 有一个 RegionInfo 类,它使用术语 Region 来表示一个国家(而不是州或省)。 状态:这
我正在尝试使用这个 jQuery 示例来拉回城市和州名称组合。我想知道有什么办法可以拉回实际的州名而不是缩写吗?例如:它当前返回爱达荷州博伊西,我想要爱达荷州博伊西... http://jqueryu
如何使用 API 获取国家/地区、州/地区 我是 ajax 新手,所以任何人都可以帮助我,提前致谢 Ajax $(document).ready(function(){ let api_ur
我是 SQL 和关系数据库新手,我遇到了一个常见问题。 我正在制作一个网站,当每个用户提交帖子时,他们必须提供邮政编码或城市/州的位置。 处理此问题的最佳做法是什么?我是否只需创建一个邮政编码、城市和
所以我有一个使用这个 importJSON script 的 google 表格将城市和州列表添加到 google 表格中。随着用户在我们网站上添加城市(反射(reflect)在我们的 JSON 文件
我有像国家/州和城市这样的下拉列表。有什么办法可以等到人口下降后再继续进行吗?就像首先加载国家/地区,然后根据选择的国家/地区然后加载州/省,与城市相同...... function populate
我正在开发一个可以帮助我提高 OO 设计技能的应用程序。我几乎完成了作业,但我觉得我需要让我的应用程序更具可扩展性,并且需要一些关于如何实现这一目标的意见。 问题域可以概括如下: 问题域是设计购物车应
如何使用单一选择器 Objective-C 来管理国家/州/城市的值(value)? 当我尝试它时,它会因索引更改而崩溃。它适用于城市城市和州,但与城市有关。哪个库会更好用? 查看下面的代码 - (v
我正在尝试从数据库“零售商”中提取并按国家/地区显示它们,美国是第一个。然后在其中按州字母顺序排序,然后按每个州内的名称排序。 它应该像这样打印...... 美国 Alabama Acme
我有 1 个静态(国家/地区)和 2 个动态(州和城市)下拉选择。 我正在与 Select2 合作。 例如,荷兰每个州都有大量城市。加载这个很难使用。 在我的用户端页面上如果有以下 JS: $(".s
我让我的用户输入他们的城市、州和国家。但我的困境是如何动态管理它,以便我可以控制输入的内容,同时具有正确的拼写和格式。 例如,我目前每个州都有一个静态下拉菜单。 Alabama
我正在寻找一种有效的方式来表示和检索地理关系,例如。地区->州->美国。这应该适应任何级别的层次结构,例如。 district->region->states->big region(East/wes
我正在开发一个应用程序,其中实体位于地球上的位置。我想要一组数据,从中我可以确定一个点包含在哪个或哪些区域。 区域可以是以下类型: 大陆 国家 湖 大海 非军事区 沙漠 冰架 ...等等。 我设想将每
我正在为一个小众服务创建一个国家目录。我认为应该将结构分解为两种格式之一,但我愿意接受建议。 site.com/category/subcategory/state/city 或 site.com/s
我计划通过将 Locations 表中的 locationID 提供给 User 表中的每个用户来规范化,而不是为共享同一位置的多个用户输入重复的用户位置,这样我就不必重复输入 Country、Sta
这个问题在这里已经有了答案: 关闭 10 年前。 Possible Duplicate: Database of Countries and their Cities 好的,这是一个非技术问题。我正
GMSReverseGeocodeResponse 包含 - (GMSReverseGeocodeResult *)firstResult; 其定义如下: @interface GMSReverseG
我是一名优秀的程序员,十分优秀!