当前位置: 首页 > 知识库问答 >
问题:

Search-as-y-type数据类型和Edge NGram Tokenizer有什么区别?

孟谭三
2023-03-14

无法理解在字段中设置即搜索类型数据类型、在分析器中设置Edge NGram Tokenizer和添加index_prefixes参数之间的区别。在我看来,他们毕竟做了同样的工作。

https://www.elastic.co/guide/en/elasticsearch/reference/current/search-as-you-type.htmlhttps://www.elastic.co/guide/en/elasticsearch/reference/current/analysis-edgengram-tokenizer.htmlhttps://www.elastic.co/guide/en/elasticsearch/reference/current/index-prefixes.html

共有2个答案

干亮
2023-03-14

Rafiqul是正确的,search_as_you_go是使用edge_ngram构建的,但它也包含了shingles的概念。shingles是一组单词,它允许search_as_you_go更好地处理多单词查询。

请注意,search_as_you_go要求单词按照输入的顺序排列,这对于电影标题等已知实体尤其理想,而不是自由格式文档。

公孙涵育
2023-03-14

edge_ngram是一个标记器,这意味着它在索引时启动以标记您的输入数据。还有一个edge_ngram标记过滤器。两者相似,但工作在不同的级别。

search_as_you_type是一个字段类型,其中包含几个子字段,其中一个称为_index_prefix,它利用了edge_ngram标记器。

所以基本上,当他们决定添加新的search\u as\u you\u type字段类型时,您在edge\u ngram标记器文档中看到的内容实际上得到了利用。

 类似资料:
  • 问题内容: 在升级到Swift 1.2之前,我可以编写以下行: 现在它迫使我写这一行: 我的问题是,如果我被迫如上所述编写代码,难道我不能只编写下面的代码,它会做同样的事情吗?在imageDetails的所有值中都可以得到相同的结果吗? 问题答案: as关键字用于进行上下转换: 从派生类到基类的转换可以在编译时检查,并且永远不会失败。 但是,向下转换可能会失败,因为您无法始终确定特定的类别。如果您

  • 问题内容: 元类型和Swift中有什么区别? 这样做并返回一个? 我了解可以用来进行检查。你怎么用? 问题答案: 这是一个简单的示例: 假设每个实体由两件事表示: 类型: 元类型: 元类型类型是指任何类型的类型,包括类类型,结构类型,枚举类型和协议类型。 资源。 您会很快注意到这是递归的,并且可以通过诸如此类的类型来实现。 返回一个元类型的实例。 我们可以通过两种方式获取元类型的实例: 调用一个像

  • 问题内容: 是什么使类型不同于类,反之亦然? (与一般语言无关) 问题答案: 以下答案来自Gof书(“设计模式”) 对象的类定义了对象的实现方式。该类定义了对象的内部状态及其操作的实现。 相反,对象的 类型仅引用其接口-可以响应的一组请求。 一个对象可以具有许多类型,而不同类的对象可以具有相同的类型。 max函数需要一个类型为operation>且具有其自身类型的类型作为其接口之一,满足上述要求的

  • 问题内容: 这两个代码片段之间有什么区别?使用: 使用isinstance(): 问题答案: 总结答案的内容,迎合继承(派生类的实例也是基类的实例),而检查的相等性type则不(要求类型的标识并拒绝实例)子类型,又称为AKA子类)。 通常,在Python中,你当然希望你的代码支持继承(因​​为继承非常方便,因此停止使用你的代码来使用它会很糟糕!),因此它比检查的身份要糟糕得多,因为它无缝地支持s遗