elasticsearch Elasticsearch短语提示前缀语音差异,elasticsearch,kibana,search-suggestion,elasticsearch,Kibana,Search Suggestion" /> elasticsearch Elasticsearch短语提示前缀语音差异,elasticsearch,kibana,search-suggestion,elasticsearch,Kibana,Search Suggestion" />

elasticsearch Elasticsearch短语提示前缀语音差异

elasticsearch Elasticsearch短语提示前缀语音差异,elasticsearch,kibana,search-suggestion,elasticsearch,Kibana,Search Suggestion,我想知道短语建议者是否有办法纠正语音差异上的前缀拼写错误 Elasticsearch 5.1.2 Kibana 5.1.2中的测试 例如: 有人写了“sircus”而不是“circus”,或者有人写了“koding”而不是“coding”。 有趣的是,你可以写“frase”而不是“短语”,然后得到一个建议 这是我的设置 设置: PUT text_index { "settings": { "analysis": { "analyzer": { "sugge

我想知道短语建议者是否有办法纠正语音差异上的前缀拼写错误

Elasticsearch 5.1.2

Kibana 5.1.2中的测试

例如:

有人写了“sircus”而不是“circus”,或者有人写了“koding”而不是“coding”。 有趣的是,你可以写“frase”而不是“短语”,然后得到一个建议

这是我的设置

设置:

PUT text_index
{
  "settings": {
    "analysis": {
      "analyzer": {
        "suggests_analyzer": {
          "tokenizer": "standard",
          "filter": [
           "lowercase",
           "asciifolding",
           "shingle_filter"
          ],
          "type": "custom"
        },
        "reverse": {
            "type": "custom",
            "tokenizer": "standard",
            "filter": ["standard", "reverse"]
          }
      },
      "filter": {
        "shingle_filter": {
          "min_shingle_size": 2,
          "max_shingle_size": 5,
          "type": "shingle"
        }
      }
    }
  },
  "mappings": {
    "testtype": {
      "properties": {
        "suggest_field": {
          "type": "text",
          "analyzer": "suggests_analyzer",
          "fields": {
            "reverse": {
              "type": "text",
              "analyzer": "reverse"
            }
          }
        }
      }
    }
  }
}
一些文件:

POST test_index/test_type/_bulk
{"index":{}}
{ "suggest_field": "phrase"}
{"index":{}}
{ "suggest_field": "Circus"}
{"index":{}}
{ "suggest_field": "Coding"}
查询:

POST /so-index/_search
{
  "suggest" : {
    "text" : "sircus",
    "simple_phrase" : {
      "phrase" : {
        "field" :  "suggest_field",
        "max_errors": 0.9,
        "highlight": {
          "pre_tag": "<em>",
          "post_tag": "</em>"
        },
        "direct_generator" : [ {
          "field" : "suggest_field",
          "suggest_mode" : "always"
        }, {
          "field" : "suggest_field.reverse",
          "suggest_mode" : "always",
          "pre_filter" : "reverse",
          "post_filter" : "reverse"
        }]
      }
    }
  }
}
POST/so index/\u搜索
{
“建议”:{
“文本”:“sircus”,
“简单短语”:{
“短语”:{
“字段”:“建议字段”,
“最大误差”:0.9,
“亮点”:{
“前标签”:“,
“post_标记”:”
},
“直接_生成器”:[{
“字段”:“建议字段”,
“建议模式”:“始终”
}, {
“字段”:“建议字段。反向”,
“建议模式”:“始终”,
“前置过滤器”:“反向”,
“后过滤器”:“反向”
}]
}
}
}
}
此外,我将重复以下步骤几次(在5到10之间),不做任何更改:

  • 删除索引
  • 放置索引、设置和映射
  • 添加文档
  • 查询(编码)

有时我得到建议,有时我没有。有什么解释吗?

尝试在直接\u生成器中设置“prefix\u length”:0。

这可以使用术语建议器进行更正