首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >全文搜索的弹性查询

全文搜索的弹性查询
EN

Stack Overflow用户
提问于 2018-11-20 17:31:26
回答 1查看 37关注 0票数 0

使用弹性POST请求创建索引(将有多个记录)

代码语言:javascript
复制
POST /rewards/deals/_bulk
{ "index": {}}
{
    "deal_id":25, 
    "title": "Deal 1 Title", 
    "deal_subtitle":"Deal 1 subtitle - Amazing deal 20% off",
    "header_title":"Never before deal", 
    "header_subtitle":"This is available as an amazing deal you can use.", 
    "categories":[
    {"categoryId":32, "categoryName":"Treats!"},
    {"categoryId":31, "categoryName":"Travel & Transportation"}],
    "stores_list": [{"storeId":524, "storeName":"Awesome store", "geoX":"", "geoY":"", "postalCode":"417392"}], 
    "merchant_name": "Merchant Name", 
    "id": 1, 
    "merchant_id": 137, 
    "startEnd":"2018-11-16 00:00:00", 
    "endDate":"2018-11-30 00:00:00"
} 

编写查询以执行全文搜索。

代码语言:javascript
复制
GET /rewards/deals/_search
{
  "query": {
    "multi_match": {
      "query": "treat",
      "fields": ["title^10", "deal_subtitle^10", "header_subtitle^5", "header_title^5", "categories.categoryName^3", "stores_list.storeName^3", "stores_list.postalCode^3", "merchant_name^10"]
    }
  }
}

但我没有得到任何数据作为回应,因为“治疗”也是categories.categoryName中提供的治疗(源于治疗)。有人能帮忙吗。当我搜索“款待”时,我会得到回应。如何才能得到以搜索关键字开头的单词的回复。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-11-21 08:42:19

只需在现有查询中添加"type“即可使其工作

代码语言:javascript
复制
GET /rewards/deals/_search
{
  "query": {
    "multi_match": {
      "query": "treat",
      "type":"phrase_prefix",
      "fields": ["title^10", "deal_subtitle^10", "header_subtitle^5", "header_title^5", "categories.categoryName^3", "stores_list.storeName^3", "stores_list.postalCode^3", "merchant_name^10"]
    }
  }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53398445

复制
相关文章

相似问题

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