text:会分词,ElasticSearch会先把对象进行分词处理,然后再再存入到索引。
当使用多个单词进行查询的时候,无法查到已分词过的内容。keyword:不分词,直接整个存入索引。可以进行完整地查询!默认是256个字符!参考资料:htt[……]
标签归档: ElasticSearch
ElasticSearch bulk返回错误码列表
Elasticsearch-PHP 解析器analyzer如何按空格 逗号或井号分词
其实默认的解析器都不需要指定分词器就可以实现按空格、逗号或者井号分词,对应到elasticsearch-php里的代码示例如下:
<?php
/*
* blankAnalyzer 分析器* 被 Actor 字段分析器使用* 功能 按空格解析器*/$index[[......]ElasticSearch一看就懂之分词器edge_ngram和ngram的区别
edge_ngram和ngram是ElasticSearch自带的两个分词器,一般设置索引映射的时候都会用到,设置完步长之后,就可以直接给解析器analyzer的tokenizer赋值使用。
但这两个分词器到底有什么区别呢?网上搜来搜去呢,都不是说人话的解释,如果不[……]
Elasticsearch-PHP query中match_all比较优雅的写法
不太优雅的写法:
<?php
$query = [ "match_all" => new \stdClass() ];比较优雅的写法:
<?php
$query = [ "match_all" =>[......]unless the include_type_name parameter is set to true-elasticsearch-php解决办法
一般碰到报错:”Types cannot be provided in put mapping requests, unless the include_type_name parameter is set to true”,都是因为ElasticSearch从低版本[……]
Elasticsearch Unknown properties in plugin descriptor: [jvm, site, isolated] 解决办法
Elasticsearch 的日志报错
Unknown properties in plugin descriptor: [jvm, site, isolated]一般发生于旧版本升级到新版本,且插件直接复制的情况。解决方案如下:
找到插件目录下的plugin-[……]
Elasticsearch Explain API
Explain API提供查询结果的分数说明。 如果你遇到分数和预期不匹配的情况,那么可以使用这个API来进行核对。
官方示例:
GET /twitter/_explain/0
{
"query" : { "mat[......]Elasticsearch Profile API
Profile API这东西,一般是用来检查查询缓慢的原因用的。这里做个记录:
官方使用示例:
GET /twitter/_search
{
"profile": true, "query" : { "mat[......]Elasticsearch 查看分词结果
有时候需要核对分词器是否工作良好,可以使用Indices APIs的Analyze来分析。
官方API示例:
GET _analyze
{ "tokenizer" : "keyword", "filter"[......]