elasticsearch java likequery_ElasticSearch的模糊查询

我是ElasticSearch的新手,我正在探索它的功能 . 我感兴趣的其中一个是模糊查询,我正在测试并且有麻烦使用 . 这可能是一个虚假的问题,所以我猜一个已经使用过这个功能的人会很快找到答案,至少我希望如此 . :)

BTW我觉得它可能不仅与ElasticSearch有关,而且可能直接与Lucene有关 .

让我们从一个名为“first index”的新索引开始,我在其中存储一个值为“american football”的对象“label” . 这是我使用的查询 .

bash-3.2$ curl -XPOST 'http://localhost:9200/firstindex/node/?pretty=true' -d '{

"node" : {

"label" : "american football"

}

}

'

这是我得到的结果 .

{

"ok" : true,

"_index" : "firstindex",

"_type" : "node",

"_id" : "6TXNrLSESYepXPpFWjpl1A",

"_version" : 1

}

到目前为止很好,现在我想使用模糊查询找到这个条目 . 这是我发送的那个:

bash-3.2$ curl -XGET 'http://localhost:9200/firstindex/node/_search?pretty=true' -d '{

"query" : {

"fuzzy" : {

"label" : {

"value" : "american football",

"boost" : 1.0,

"min_similarity" : 0.0,

"prefix_length" : 0

}

}

}

}

'

这就是我得到的结果

{

"took" : 15,

"timed_out" : false,

"_shards" : {

"total" : 5,

"successful" : 5,

"failed" : 0

},

"hits" : {

"total" : 0,

"max_score" : null,

"hits" : [ ]

}

}

如你所见,没有打击 . 但现在,当我从“美国 football " to "美国 footb ”这样收缩我的查询值时:

bash-3.2$ curl -XGET 'http://localhost:9200/firstindex/node/_search?pretty=true' -d ' {

"query" : {

"fuzzy" : {

"label" : {

"value" : "american footb",

"boost" : 1.0,

"min_similarity" : 0.0,

"prefix_length" : 0

}

}

}

}

'

然后我在我的条目上得到正确的命中,结果是:

{

"took" : 0,

"timed_out" : false,

"_shards" : {

"total" : 5,

"successful" : 5,

"failed" : 0

},

"hits" : {

"total" : 1,

"max_score" : 0.19178301,

"hits" : [ {

"_index" : "firstindex",

"_type" : "node",

"_id" : "6TXNrLSESYepXPpFWjpl1A",

"_score" : 0.19178301, "_source" : {

"node" : {

"label" : "american football"

}

}

} ]

}

}

所以,我有几个与此测试相关的问题:

为什么在执行完全等于我的唯一条目“american football ”的查询时,我没有得到任何结果

这与我有多字的 Value 有关吗?

有没有办法在我的查询结果中获得“相似性”得分,这样我就能更好地理解如何为模糊查询找到合适的阈值

在ElasticSearch网站上有一个专门用于模糊查询的页面,但我不确定它列出了我可以用于模糊查询的所有潜在参数 . 我能找到这么详尽的清单吗?

实际上其他查询的问题相同 .

模糊查询和使用lucene语法进行模糊匹配的查询字符串查询之间有区别吗?

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值