用ElasticSearch,一般都会自写一些特别需求的分析器(analyzer)吧,其中涉及到字符过滤器(character filter)、分词器(tokenizer)和过滤器(filter)的使用。
那么,这些涉及到的部分是如何在一次分析中执行的呢?顺序又是如何的呢?且看下文。[……]

Read more

text:会分词,ElasticSearch会先把对象进行分词处理,然后再再存入到索引。
当使用多个单词进行查询的时候,无法查到已分词过的内容。

keyword:不分词,直接整个存入索引。
可以进行完整地查询!默认是256个字符!

参考资料:
https://blog.c[……]

Read more

ElasticSearch bulk批量添加索引后,遍历每个结果,错误码列表如下:

操作
状态码

CREATE
201 创建成功

UPDATE
200 更新成功
201 创建成功(UPSERT)
400 更新失败
(比如需要更新的记录不存在)[……]

Read more

edge_ngram和ngram是ElasticSearch自带的两个分词器,一般设置索引映射的时候都会用到,设置完步长之后,就可以直接给解析器analyzer的tokenizer赋值使用。

但这两个分词器到底有什么区别呢?网上搜来搜去呢,都不是说人话的解释,如果不是深入了解Elasti[……]

Read more

Explain API提供查询结果的分数说明。 如果你遇到分数和预期不匹配的情况,那么可以使用这个API来进行核对。

官方示例:

GET /twitter/_explain/0{      "query" : {        "match" :[......]

Read more