当前位置: 首页 > 面试题库 >

该完成提示使用什么Elasticsearch Analyzer?

顾文昌
2023-03-14
问题内容

我对Elasticsearch还是很陌生,目前正试图在分析仪方面着手研究 completion suggester

我有一个这样的地方列表:

  • London
  • The London Eye
  • The London Dungeon
  • etc…

通过将完成提示的映射设置为以下内容:

'place_suggest': {
     'type': 'completion',
     'payloads': true,
     'index_analyzer' : 'stop',
     'search_analyzer' : 'stop',
     'preserve_position_increments' : false
}

现在,当建议者文本输入只是字母时,我就可以返回上述所有三个建议 L

但是,我希望The London Eye在用户键入单词时返回,并且在用户键入时eyeThe London Dungeon返回Dungeon(当然,这些术语的任何前缀)

在今天的大部分时间里,我一直在使用不同的分析仪和设置,但没有成功。

我需要使用哪种分析仪来实现上述目标?


问题答案:

您可以使用“ 完成建议器”实现所需的功能。使用多个输入字段和一个统一的输出。如果输入字段之一匹配,则将返回输出字段。

curl -X PUT localhost:9200/places/place/1 -d '
{
    "title" :         "The London Eye",
    "place_suggest" : {
        "input" :      [
            "The London Eye",
            "Eye"
        ],
        "output":"The London Eye"
     }
}'

curl -X PUT localhost:9200/places/place/2 -d '
{  
    "title" :         "The London Dungeon",
    "place_suggest" : {
        "input" :      [
            "The London Dungeon",
            "Dungeon"
         ],
         "output":"The London Dungeon"
    }
}'


 类似资料:
  • 问题内容: 考虑一下: 一方面,它更干净,更pythonic。另一方面,你将用作第一个参数,但我觉得这很多余和令人困惑。所以我开始怀疑更大的差异… 根据文档: 因此,区别仅在于使用。那么,的重要之处是什么?让我们再次看一下文档: 好。根本没关系 因此,这是重要的部分-确保所有上下文处理器都能正常工作,并重点放在csrf上。所以真的,回到我的第一个示例,这些实际上是相同的: 现在,第二个例子显然更糟

  • 问题内容: 我正在对Oracle模式(Oracle版本10)进行一些重构,并且看到了很多使用提示的视图。在其他视图中,还存在其他类型的提示。为什么我应该使用提示?数据库不是基于查询的最佳选择吗?非常感谢! 问题答案: 这是一个很好的问题,但是没有一个单一的答案,因为存在不同类别的提示,不同的提示将适用于这些提示。http://docs.oracle.com/cd/E11882_01/server.

  • 本文向大家介绍使用Vant完成通知栏Notify的提示操作,包括了使用Vant完成通知栏Notify的提示操作的使用技巧和注意事项,需要的朋友参考一下 效果: 代码展示: 补充知识:vantweapp引入notify消息提示组件解决importpath/to/@vant/weapp/dist/notify/notify和‘selectComponent‘ of undefined ** 微信小程序

  • 使用 Dreamweaver 的代码提示和代码完成功能,最大限度缩短编码时间。 Dreamweaver 的智能代码完成或代码提示功能通过减少拼写和其他常见错误,使您可以快速插入和编辑代码。 您也可以使用此功能查看: 标签的可用属性, 函数的可用参数,或 对象的可用方法。 受支持的语言和技术 Dreamweaver 支持下列语言和技术的代码提示: HTML CSS JavaScript  PHP 阅

  • multipart/form-data 与 application/x-www-form-urlencoded 是表单请求 header 中最常见的两种 Content-Type 值了,StackOverflow 上就有一个关于这两者区别的提问。 TLDR:简单来说,除非你需要上传文件,否则都优先使用 application/x-www-form-urlencoded。 这两个 MIME 类型是所

  • 问题内容: 我知道他们两个都禁用了Nagle的算法。 我什么时候应该/不应该使用它们中的每一个? 问题答案: 首先,不是所有人都禁用Nagle的算法。 Nagle的算法用于减少有线中更多的小型网络数据包。该算法是:如果数据小于限制(通常是MSS),请等待直到收到先前发送的数据包的ACK,同时累积用户的数据。然后发送累积的数据。 这将对telnet等应用程序有所帮​​助。但是,在发送流数据时,等待A