首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >弹性搜索phrase_prefix搜索

弹性搜索phrase_prefix搜索
EN

Stack Overflow用户
提问于 2018-05-16 08:55:24
回答 1查看 384关注 0票数 0

我使用query_string进行全文搜索,并使用type定义如何使用full_text搜索(必须使用的类型之一是phrase_prefix )来返回具有确切术语的文档.

我的问题是:

当我想找一个词的时候..。如tea,返回的文档最多是因为teacher,我知道要解决这个问题,我必须使用phrase类型.但是,当我在一个词中使用这种类型时,我会触及另一个问题,例如ui..由于大多数文档包含UI/UX word,所以在phrase类型搜索中,这些文档不会返回。

所以我有一个查询,它的行为必须像一个phrase_prefix,但不是所有的时间.问题是我不知道确切的时间!

如果有人对我的问题有任何解决办法。我很感激能和我分享这一切。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-05-16 14:27:23

解决这个问题的一个简单方法是使用两个查询将它们与连接在布尔查询中。在这种情况下,您将在这两种情况下检索结果。这意味着,当您搜索tea时,您将得到teachertea,但是由于对tea来说,这两个子句都匹配--您应该获得更高的tea分数。同样适用于UI

查询的示例如下:

代码语言:javascript
复制
{
  "query": {
    "bool" : {
      "should" : [
        {
          ##query1
        },
        { 
          ##query2
        }
      ]
    }
  }
}

当然,这并不理想,但至少它会让你继续前进。

有关More子句的更多信息- https://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-bool-query.html

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50366429

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档