Elasticsearch部分匹配脏数据

时间:2016-03-29 20:51:01

标签: curl elasticsearch

我正在尝试对可能不正确的字符串进行全文搜索。

使用可以重复使用

的数据的东西
 {"content":"sdesteTcnnomavedadmconformWo Tech ltdaassas"}

我希望能够搜索有限公司,我正在这样做:

curl -XPOST 'http:/localhost:9200/MY_INDEX/MY_TYPE/_search' -d '{"query":{"wildcard":{"content":"*LTDA*"}}}'

我将内容字段创建为not_analyzed:

curl -XPUT 'http://localhost:9200/MY_INDEX' -d '{"MY_TYPE":{"properties":{"content":{"type":"string","index":"not_analyzed"}}}}'

我仍然无法进行部分匹配,我是否应该更改索引本身的内容?

PS:我知道弹性搜索不会对脏内容有用,但想法是内容将被清理和搜索

1 个答案:

答案 0 :(得分:4)

你可以试试regexp搜索

curl -XPOST "http://localhost:9200/MY_INDEX/MY_TYPE/_search" -d'
{
  "query": {
    "regexp": {
      "content": ".*ltda.*"
    }
  }
}'