Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
<img src="//i.stack.imgur.com/RUiNP.png" height="16" width="18" alt="" class="sponsor tag img">elasticsearch ElasticSearch完成建议';s索引_<img Src="//i.stack.imgur.com/RUiNP.png" Height="16" Width="18" Alt="" Class="sponsor Tag Img">elasticsearch_Nest - Fatal编程技术网 elasticsearch ElasticSearch完成建议';s索引,elasticsearch,nest,elasticsearch,Nest" /> elasticsearch ElasticSearch完成建议';s索引,elasticsearch,nest,elasticsearch,Nest" />

elasticsearch ElasticSearch完成建议';s索引

elasticsearch ElasticSearch完成建议';s索引,elasticsearch,nest,elasticsearch,Nest,您好: 我试图理解完成建议的索引过程。参考ElasticSearch文档,我想知道是否不能针对索引中已有文档的属性提出建议,而不是创建一个单独的属性来容纳所有可能的自动完成条款?这意味着每次我需要为文档编制索引时,我都会调用两个调用。一个调用为整个文档编制索引,另一个调用将新索引文档中的新术语添加到我的建议属性中 谢谢 实际上你不必打两个电话。您可以在一次调用中索引文档和建议属性 映射示例: { "mappings": { "_doc" : { "properties"

您好:

我试图理解完成建议的索引过程。参考ElasticSearch文档,我想知道是否不能针对索引中已有文档的属性提出建议,而不是创建一个单独的属性来容纳所有可能的自动完成条款?这意味着每次我需要为文档编制索引时,我都会调用两个调用。一个调用为整个文档编制索引,另一个调用将新索引文档中的新术语添加到我的建议属性中


谢谢

实际上你不必打两个电话。您可以在一次调用中索引文档和建议属性

映射示例:

{
  "mappings": {
    "_doc" : {
      "properties" : {
        "suggest" : {
          "type" : "completion"
        },
        "title" : {
          "type": "keyword"
        },
        "album" : {
          "type": "text"
        }
      }
    }
  }
}
示例文档/索引:

PUT /music
{
  "title": "jazz",
  "album": "Wonder Fortune",
  "suggest" : {
    "input": [ "Wonder", "World", "Fortune"],
    "weight" : 37
  }
}

谢谢你的反馈,萨米尔。我的最后一个问题是,当我为文档编制索引时,是否需要对输入进行标记以编制索引?示例..如果我想自动完成术语
杰克和吉尔上山了
…我如何将其标记为索引?输入:[“Jack and JIll”,“Jack hill up the hill”,“JIll hill up the hill”],我不确定是否可以在代码中标记这些单词,或者是否有办法让ElasticSearch标记这些单词以编制索引?不,建议术语不需要analyzer。原因如下:(来自Elasticsearch文档)
要使用的索引分析器默认为simple。如果您想知道为什么我们没有选择标准分析器:我们尝试在这里使用易于理解的行为,如果您在驱动器输入处对字段内容进行索引,您将不会得到关于a和d(第一个非停止字)的任何建议。
好的,如果我理解正确,在索引文档时……我应该有“建议”:{“输入”:[“杰克和吉尔上山”]}然后ES会自动标记句子。所以如果我搜索姬尔这个词,它会返回这个建议。我问的原因是因为ES把建议转化成FST图……这个搜索是从最左边的词发生的……在这种情况下,杰克……所以如果我在句子的中间寻找一个词,比如说姬尔,根据ES。医生,我什么都得不到suggestions@DeanCompletion Suggester是前缀,因此如果您键入
Jill
,您将无法获得建议,而使用默认的简单分析器则不行。您可以定义要使用的其他分析器,或提供多个输入,但请记住,Completion Suggester是为在键入时进行快速“搜索”而设计的“,而不是针对复杂搜索需求的灵活方法