我如何通过弹性搜索来搜索其中带有“-”破折号的值

维卡什·辛格(Vikash Singh)

我在弹性搜索中的输入是这样的:

输入:

curl -XPUT "http://localhost:9200/movies/movie/4" -d'
{
     "uid": "a-b"
}'

询问 :

curl -XGET "http://localhost:9200/movies/movie/_search" -d '
{
    "query" : {
        "term" : { "uid": "a-b" }
    }
}'

输出:

{"took":2,"timed_out":false,"_shards":{"total":5,"successful":5,"failed":0},"hits":{"total":0,"max_score":null,"hits":[]}}

谢谢

奥利·克鲁克申克(Olly Cruickshank)

这完全取决于您使用的分析仪。

使用标准分析器,您可以看到已经生成了两个令牌,并且忽略了“-”。

curl -XGET 'localhost:9200/myindex/_analyze?analyzer=standard&pretty' -d 'a-b'
{
  "tokens" : [ {
        "token" : "a",
        "start_offset" : 0,
        "end_offset" : 1,
        "type" : "<ALPHANUM>",
        "position" : 1
  }, {
        "token" : "b",
        "start_offset" : 2,
        "end_offset" : 3,
        "type" : "<ALPHANUM>",
        "position" : 2
  } ]
}

在空白分析器中,“-”被视为数据,您只能为数据获取一个令牌:

curl -XGET 'localhost:9200/myindex/_analyze?analyzer=whitespace&pretty' -d 'a-b'
{
  "tokens" : [ {
        "token" : "a-b",
        "start_offset" : 0,
        "end_offset" : 3,
        "type" : "word",
        "position" : 1
  } ]
}

当您使用术语查询时,不会对搜索查询进行任何分析。因此,您可能正在尝试将“ ab”与“ a”和“ b”进行匹配(假设您在映射中使用了标准分析器)-即,它将不匹配并且不会返回结果。

如果您在查询中使用matchquery_string,那么您的搜索可能会起作用,因为将对搜索字符串进行分析。即ES会尝试将“ a”和“ b”与包含“ a”和“ b”的字段进行匹配-这将是成功的匹配。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何比较包含破折号的2个值?

来自分类Dev

插值时如何让 — 显示为破折号

来自分类Dev

如何写破折号和破折号?

来自分类Dev

如何加快破折号的搜索?

来自分类Dev

防止破折号搜索文件

来自分类Dev

Javascript RegExp来搜索带有尾随变量的pipe(|)或破折号(-)

来自分类Dev

替换所有破折号

来自分类Dev

如何检查破折号的根

来自分类Dev

如何从破折号-n退出?

来自分类Dev

如何使SVG笔划破折号

来自分类Dev

如何从破折号-n退出?

来自分类Dev

如何读取破折号文件

来自分类Dev

破折号范围如何工作?

来自分类Dev

破折号搜索结果未显示我的文件

来自分类Dev

如何在SQL Server中分割破折号分隔的值?

来自分类Dev

如何在Xfce下进行类似破折号的搜索?

来自分类Dev

如何在 Xfce 下进行类似破折号的搜索?

来自分类Dev

Sed:删除双破折号之前的所有字符,包括双破折号

来自分类Dev

有什么方法可以使ubuntu图标启动破折号而不是破折号吗?

来自分类Dev

如何在Windows 7/8中键入破折号和破折号?

来自分类Dev

如何使MVC路由句柄网址带有破折号

来自分类Dev

PHP:如何从键值中带有连字符/破折号的关联数组中提取()值?

来自分类Dev

PHP:如何从键值中带有连字符/破折号的关联数组中提取()值?

来自分类Dev

Elasticsearch带破折号的模糊搜索短语

来自分类Dev

Unity破折号可以在文件中搜索内容吗?

来自分类Dev

休眠搜索与破折号字符串完全匹配

来自分类Dev

我如何添加破折号直到我的单元格值等于VBA中的五个

来自分类Dev

我如何添加破折号直到我的单元格值等于VBA中的五个

来自分类Dev

取消对带有破折号的列的透视

Related 相关文章

热门标签

归档