【问题标题】:elasticsearch full text search part of wordelasticsearch 全文搜索词的一部分
【发布时间】:2016-08-11 13:46:39
【问题描述】:

如何在elasticsearch上查询部分词的全文搜索。

例如,如果我有这些文件

{
    name: "A1"
    desc: "This is first document"
}
{
    name: "A2"
    desc: "This is second document"
}

当我这样搜索时

{
    query: {
        query_string: {
            query: 'first'
        }
    }
}

它返回给我第一个文档,但是当我尝试搜索时

{
    query: {
        query_string: {
            query: 'fir'
        }
    }
}

它不返回任何东西。 如何在不映射参数(例如 ngram)的情况下解决这个问题,只需使用查询。

谢谢

【问题讨论】:

  • 您是否尝试过使用通配符进行搜索,例如 fir* ?出于好奇,你为什么不想使用 ngram? See this
  • 我无法使用它们,因为我如何尝试它们不起作用,我不明白为什么,如果我发送它们,你能检查一下吗?
  • 当然,您可以随意用 ngram 问题创建另一个问题。
  • 你试过使用上面的通配符吗?

标签: elasticsearch


【解决方案1】:

您应该尝试使用通配符,像这样,它会起作用。

{
    query: {
        query_string: {
            query: 'fir*'
        }
    }
}

否则,use ngrams,它的性能要高得多。

【讨论】:

    猜你喜欢
    • 2016-01-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-19
    • 2011-09-21
    • 2016-05-23
    • 1970-01-01
    相关资源
    最近更新 更多