gpt4 book ai didi

elasticsearch - Elasticsearch 子串搜索

转载 作者:行者123 更新时间:2023-12-02 23:06:45 25 4
gpt4 key购买 nike

我需要通过子字符串实现搜索。它应该像“CTRL + F”一样工作,如果子字符串与单词匹配,则高亮显示单词。
该搜索将仅由两个字段执行:

  • 名称-最多255个字符
  • ID-不超过200个字符

  • 但是,记录数量将非常庞大,约为一百万。
    到目前为止,我使用按通配符括起来的关键字进行查询字符串搜索,但是一旦记录数量开始增长,肯定会导致性能问题。
    您有什么建议,我将如何做更多性能明智的解决方案?

    最佳答案

    在大索引上,使用领先的wildcards搜索将非常慢

    Avoid beginning patterns with * or ?. This can increase the iterationsneeded to find matching terms and slow search performance.


    正如文档中所写,通配符查询非常慢。
    如果希望查询时间快,最好使用ngram策略。如果要按部分匹配,单词前缀或任何子字符串匹配进行搜索,最好使用 n-gram tokenizer,这将改善全文搜索。
    ngram分词器在遇到指定字符列表之一时首先将文本分解为单词,然后针对指定长度的每个单词发射N-gram。
    请仔细阅读此SO answer,其中包括一个使用ngrams部分匹配的工作示例

    关于elasticsearch - Elasticsearch 子串搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64638895/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com