- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
这样的查询有什么区别:
"query": {
"bool": {
...
"should": [
{
"match": {
"description": {
"query": "test"
}
}
},
{
"match": {
"address": {
"query": "test",
}
}
},
{
"match": {
"country": {
"query": "test"
}
}
},
{
"match": {
"city": {
"query": "test"
}
}
}
]
}}
还有那个:
"query": {
"bool": {
...
"should": [
{
"query_string": {
"query": "test",
"fields": [
"description",
"address",
"country",
"city"
]
}
}
]
}}
性能、相关性?
提前致谢!
最佳答案
查询是根据字段分析器进行分析的(除非您在查询本身中指定分析器),因此使用单个查询查询多个字段并不一定意味着只分析一次查询。
请记住,query_string
支持 lucene query syntax : AND 和 OR 运算符,查询特定字段,通配符,短语查询等因此需要对其进行解析,我认为这在性能方面不会有太大差异,但它容易出错并可能导致错误。如果您不需要所有这些功能,请坚持使用匹配查询,如果您想对多个字段执行相同的查询,请查看 multi_match query ,它执行您对 query_string 所做的操作,但在内部转换为多个匹配查询。
此外,如果您比较多个匹配查询的输出和您的 query_string 返回的分数可能会完全不同。使用 bool 查询可以有效地构建一个 lucene bool 查询,而 query_string 默认使用 "use_dis_max":"true"
,这意味着它在内部使用 dis_max query默认情况下。使用 multi_match 查询也会发生同样的情况。如果将 use_dis_max
设置为 false,则将在内部使用 bool 查询。
关于elasticsearch - elasticsearch 中的 query_string 与组匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19937680/
我确定这已经被问过无数次了,但我无法让它发挥作用, 我正在尝试用查询字符串重写一个 url,我的 url 是例如: http://example.com/articles/index.php?keyw
如果我要创建这样的查询: "query": { "query_string": { "query": "User:mjohnst", "default_field": "Text"
我在ES 5中具有以下映射的索引 { "test-log": { "mappings": { "record": { "properties": {
我的数据库与 Elasticsearch 同步,以优化我们的搜索结果并更快地请求。 我在查询用户时遇到问题,我想通过查询来查找我的用户,它可以是姓名、电话、IP、... 我的实际查询是 query_s
这是我的测试: 使用比赛 {“query”:{“bool”:{“must”:[{“match”:{“name”:{“query”:“ka”}}}},{“term”:{“kind”:“k1 “}}]}}
我在ElasticSearch(我正在使用1.6版)应用程序中有以下查询: { "query":{ "span_multi":{ "match":{
我正在尝试在 Elasticsearch 中使用日期数学进行日期范围查询,但它没有返回任何结果: `query: { bool: { must: { q
我有一个页面显示我的数据库中的数据。在用户看到数据之前,他们有几个选择框,因此他们可以选择以多种不同方式过滤数据,例如选择显示特定时间段内的数据。当我使用 get 方法时,url 看起来类似于下面的内
我有一个包含 field 视频的索引,其值为 1.flv。如果我执行以下查询: "query": { "query_string": { "query": "2.flv"
我正在使用 ElasticSearch (2.4) 和官方 Python 客户端执行简单查询。我的代码: from elasticsearch import Elasticsearch es_clie
当我将表单数据发布到我的服务器时,我的 fastcgi 应用程序能够从 nginx 读取除 QUERY_STRING 之外的所有参数。查看 CONTENT_LENGTH 给出了正确的字符串长度,我的浏
关于 SO 的第一个问题! 我在 apache 2.2.22 上运行 PHP 5.3.10。我只是这样做: Apache 的 error.log 中的输出如下: Array ( [HTTP_
我有一个关于 .htaccess 和 QUERY_STRING 的问题。 我尝试使用我的 htaccess 重定向一个 URL,如下所示: http://mydomain.tld/out/http%3
您好,我有一个奇怪的问题:我的任务是将 WP 页面 (page_id=2) 重定向到同一域上的页面 (about),但是当我使用字符串重定向时: RewriteEngine On RewriteCon
我在这里遇到一个奇怪的问题。我正在将一个(工作)站点移动到一个我无法直接访问的新 apache 服务器(我必须通过两个人才能完成工作)。 该站点使用名为 adframe 的 perl 脚本来解析 ht
假设我有一个索引,并使用以下语句添加了一些文档: POST test/item/_bulk {"id": 1, "text": "one two"} {"id": 2, "text": "one tw
在我的Elasticsearch中,我有一个像这样的文档: "field_4" : [ "ip_address", "127.0.0
我需要的是,elastic 应该在 中搜索多个字段并按字段优先级返回数据。 例如:对于搜索字符串 obil hon , elastic 应该在 fields[title, description, m
我试图得到一个大于 X 且字段等于 Y 的结果。我试过这个: { "sort": { "datapublicacao": "desc" }, "query": {
我想从 query_string 中读取数据。 例如: username=kramsp&password=overfloww123 我想从查询字符串中读取值 query= username=[data
我是一名优秀的程序员,十分优秀!