queryString中检索词加不加引号?

原文地址:Elasticsearch干货(九):queryString中检索词加不加引号?_桃花惜春风的博客-CSDN博客

这篇文章回答我最近在实际运用中遇到的疑问,总结下:

  • 不加引号,match匹配
  • 加引号,等同于match_phrase。配合"slop": 0,等同于term精准匹配

对于刚接触搜索或者Elasticsearch的小白来说对queryString可能接触的不多,但是对于早期从事搜索的人来说queryString并不会陌生,它可以理解成检索表达式,但并不是elasticsearch的queryDSL,他遵从的是Lucene语法。elasticsearc[……]

继续阅读

Elasticsearch为记录添加时间戳timestamp

时间戳是表明某条数据产生的时间,代表了此数据在一个特定时间点已经存在的证据。
添加时间戳可以在索引数据时指定

$ curl -XPUT localhost:9200/my_index/my_type/1?timestamp=2022-11-23T23:43:38.388Z -d '{
    "title" : "世界杯",
    "message" : "亚洲队真牛逼"
}'

如果没有手动指定时间戳, source中是不会存在时间戳的。
如果想为每个索引文档自动创建时间戳,必须在创建索引时指定[……]

继续阅读

elasticsearch match查询

es中的查询请求有两种方式,一种是简易版的查询,另外一种是使用JSON完整的请求体,叫做结构化查询(DSL)。
由于DSL查询更为直观也更为简易,所以大都使用这种方式。
DSL查询是POST过去一个json,由于post的请求是json格式的,所以存在很多灵活性,也有很多形式。
这里有一个地方注意的是官方文档里面给的例子的json结构只是一部分,并不是可以直接黏贴复制进去使用的。一般要在外面加个query为key的机构。

match

最简单的一个match例子:

查询和"哺乳期长湿疹怎么办"这个查询语句匹配的文档。

{
  "query": {
    &qu[......]

继续阅读

每一天都需要坚持长期主义

原文:https://mp.weixin.qq.com/s?__biz=MzA5NjM0Nzc3NA==&mid=2650451948&idx=1&sn=102f6bee1ddf0eb5b4f53bdd23ab5da9&chksm=88bf7cfdbfc8f5ebd78ff15aaeb36e69de93002ebe4fb0589918f01e47e12fc9d2307a469e90&scene=132#wechat_redirect

最近在看杰夫 · 贝佐斯的《长期主义》一书,这本书大家争议比较多的原因在于它很简单,没有什么「料」,全书分为两部分:第一部[……]

继续阅读

如何计算两个字符串之间的文本相似度

前言

平时的编码中,我们经常需要判断两个文本的相似性,不管是用来做文本纠错或者去重等等,那么我们应该以什么维度来判断相似性呢?这些算法又怎么实现呢?这篇文章对常见的计算方式做一个记录。

Jaccard 相似度

首先是 Jaccard 相似度系数,下面是它在维基百科上的一个定义及计算公式。

The Jaccard index, also known as Intersection over Union and the Jaccard similarity coefficient (originally given the French name coefficient de communaut[……]

继续阅读

如何设计一个高性能 Elasticsearch mapping

前言

在关系型数据库设计当中,表的设计尤其重要,然而关系型数据库更关注的表与表之间的关系,以及表的划分是否合理,而 Elasticsearch 中却更加关注字段类型的设计,一个好的字段类型设计可以更好的利用 Elasticsearch 的搜索分析特性。

mapping

如果说我们想要用好 Elasticsearch,那么就必须要先了解 mapping 什么是 mapping。一句话:mapping是定义如何存储和索引文档及其包含的字段的过程。

mapping 能做什么

前面我们提到,在 Elasticsearch 中,mapping 类似于传统关系型数据库的表结构定义,主要做以下几件事: