- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我没有得到 THIS示例为什么以下两个查询返回 12 作为结果计数?帖子解释说数据在 _all
中的索引方式是不同的。但它并没有解释它。有人可以帮我理解这一点。
GET /_search?q=2014 # 12 results
GET /_search?q=2014-09-15 # 12 results !
最佳答案
假设您有这样的文件:
{
"name": "John Doe",
"occuptation": "Farmer",
"favorite_ice_cream": "chocolate"
}',
{
"name": "Jane Doe",
"occuptation": "Doctor",
"favorite_ice_cream": "vanilla"
}'
并且还假设最喜欢的冰淇淋领域没有被分析。非分析字段是高度可缓存的并且易于对其执行聚合(因此很容易计算有多少人喜欢巧克力冰淇淋,例如,与 Vanilla 冰淇淋)。但默认情况下不可搜索未分析的字段。
但是......默认情况下,Elasticsearch 会获取文档中的所有字段,将它们一起塞进一个 _all 字段中,然后在 Lucene 中对其进行分析。因此,对于第一个文档,Elastic 将分析字符串“John Doe Farmer Chocolate”,而对于第二个字段,Elasticsearch 将分析“Jane Doe Doctor vanilla”。因此,当您提交与上述类似的查询时,您可以(例如)搜索 GET /_search?q=chocolate
并且看到 John Doe 喜欢巧克力冰淇淋。您还可以提交一个查询字符串查询 (https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-query-string-query.html) 来搜索 _all 字段并仍然找出谁喜欢巧克力。但是,您不能对最喜欢的冰淇淋字段使用匹配查询……毕竟,我们告诉 Lucene 不要分析该字段。但是,您可以在该字段上使用过滤器并带回所有最喜欢的冰淇淋等于巧克力的文档。
刚开始习惯有点粗糙......但是只要您确保密切关注您正在阅读的文档版本,文档就很好并且不会令人困惑。
此外,如果它有帮助,我喜欢将 _all 字段想象成某种摆脱 jail 的免费卡。很多时候,我可能会选择不分析字段,因为我想在其上运行聚合或应用过滤器。虽然我通常会记忆过滤器需要哪个值,但有时能够向 _all 字段提交搜索并确保...例如,如果我不记得我的“国家”字段是否有“美国”或“美利坚合众国”作为美国的值,我可以快速对 _all 字段执行查询,查看一些文档,然后选择适当的过滤器值。
我使用 _all 字段的另一种方式是在全文搜索中,我希望将某些字段的匹配提高得更高,但我也想搜索文档中的所有字段,以防发生匹配。在这些情况下,针对 _all 的查询字符串查询效果很好。
您可以在此处了解有关 _all 字段的更多信息:https://www.elastic.co/guide/en/elasticsearch/reference/current/mapping-all-field.html
希望这足以让您入门……您可能不想像现在这样提交简单的查询。可能,您会想要提交使用完整查询 DSL 的 POST 请求。您可以在此处了解更多信息:https://www.elastic.co/guide/en/elasticsearch/reference/current/query-filter-context.html
祝你好运!
关于elasticsearch - Elasticsearch _all 索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36250584/
我刚刚开始学习elasticsearch,想知道我从elasticsearch website复制的以下句子中的术语和值之间的区别是什么: "It is important to note that
我嵌套,您如何产生此请求: GET demo_covariant/_all/2 最佳答案 client.Get(2, g => g .Index("demo_covariant") .
我想从elasticsearch的“_all”字段中删除所有数字和日期。这样可以减小尺寸并提高性能。我以为可以通过使用dynamic_templates完成此操作,但我无法使其正常工作。 映射是这样的
我没有得到 THIS示例为什么以下两个查询返回 12 作为结果计数?帖子解释说数据在 _all 中的索引方式是不同的。但它并没有解释它。有人可以帮我理解这一点。 GET /_search?q=2014
我是Elasticsearch的新手。我们需要索引和检索具有不同数据类型的某些数据。我们正在使用自定义“_all”字段,如以下链接中所述 Custom "_all" fields 以下是我们的代码 用
我在 elasticsearch 中有一个过滤别名,我使用“_all”作为绑定(bind)的索引创建了该别名。像这样: curl -XPOST "localhost:9200/_aliases" -d
我有索引“index”并输入了“fulltext”,但是当我尝试通过https://www.elastic.co/guide/en/elasticsearch/reference/6.0/mappin
我有一个分割的字段,例如: //name .startObject(IndexConstants.FIRST_NAME) .f
我正在尝试在 match 中实现Elasticsearch搜索,并且我注意到行为是不同的,具体取决于我是否使用_all还是输入特定的字符串值作为查询的字段名称。 为了提供一些背景信息,我创建了具有以下
我相信这是Rails 3中的一个错误。我希望这里的人能够引导我朝正确的方向发展。下面发布的代码仅用于说明此问题。希望这不会混淆这个问题。 给定我有一个Post模型和一个Comment模型。发表has_
Elasticsearch suggested在我的例子中禁用 _source 和 _all 字段,这是我的映射 { "template": "mq-body-*", "settings":
我正在使用 tire 来实现对 Rails 应用程序的搜索。该应用程序由实现 ActiveModel 的 CouchDB 和 couchrest_model gem 提供支持。 从自述文件可以看出有一
(Elasticsearch 5.2.2) 我在突出显示以正常工作方面遇到了一些麻烦。 我的映射具有2个自定义创建的_all-fields myall1 和 myall2 ,它们是通过 copy_to
我是一名优秀的程序员,十分优秀!