【问题标题】:prefix fuzzy query (not using query_string)前缀模糊查询(不使用 query_string)
【发布时间】:2013-03-07 13:40:14
【问题描述】:

我想对单个词进行前缀模糊搜索。 基本上我想得到与发送此搜索请求相同的结果:

{
  "from": 0,
  "size": 100,
  "query": {
    "query_string": {
      "query": "dala~*"
    }
  },
  "filter": {}
}

但没有 query_string 语法解析。上面的搜索应该与达拉斯术语匹配。

【问题讨论】:

  • "dala~*" 查询字符串绝对适合我,并且 Elastc 搜索文档指出内部查询字符串被解析为更简单的查询条件的组合。所以我正在寻找是否有人可以阐明它将被解析的查询组合。
  • 经过进一步测试,看起来这个查询“dala~*”没有按预期工作,即它将它分成两部分“dala~”和“*”。由于上学期,所有文件都匹配。但如果可以同时获得部分匹配和模糊匹配,我仍然很感兴趣。
  • 你使用的Lucene版本??
  • 我正在使用最新的 ElasticSearch

标签: lucene elasticsearch


【解决方案1】:

在 ElasticSearch 中,如果您设置了fuzzy_prefix_length,您应该能够只指定模糊波浪号并获得前缀匹配:

{
  "from": 0,
  "size": 100,
  "query": {
    "query_string": {
      "query": "dala~",
      "fuzzy_prefix_length": 3
    }
  },
  "filter": {}
}

this question精神相似

【讨论】:

  • 对我不起作用。模糊前缀长度只是限制与模式模糊匹配的术语数量。
猜你喜欢
  • 2016-01-18
  • 2014-06-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-02-11
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多