如何使用elasticsearch min_hash令牌过滤器?

时间:2019-01-08 11:08:07

标签: elasticsearch minhash

我想使用min_hash令牌过滤器搜索相似的文档。

最后我想实现的是一个单独的minhash字段。这样,对于给定的文档,我可以使用它的minhash字段来搜索相似的文档。

对于解决问题的任何其他方案,我将不胜感激。

我能够创建自定义分析器,创建映射以将minhash添加到反向索引。使用以下代码。

PUT /my_index
{
  "index": {
    "analysis": {
      "analyzer": {
        "minhash_analyzer": {
          "type": "custom",
          "tokenizer": "standard",
           "filter": [
             "min_hash"
           ]
        }
      }
    }
  }
}

PUT my_index/_doc/_mapping
{
  "properties": {
    "description": {
      "type": "text",
      "analyzer": "minhash_analyzer"
    }
  }
}


PUT my_index/_doc/1
{
  "description": "sample text"
}

GET my_index/_doc/1

我可以测试分析仪以确保其正常工作:

POST my_index/_analyze
{
  "analyzer": "minhash_analyzer",
  "text": "sample text"
}

返回我的答复:

{
  "tokens" : [
    {
      "token" : "쵴ᏸ飖荺氁㐫ﴯ틖",
      "start_offset" : 0,
      "end_offset" : 11,
      "type" : "MIN_HASH",
      "position" : 0
    },
    {
      "token" : "쵴ᏸ飖荺氁㐫ﴯ틖",
      "start_offset" : 0,
      "end_offset" : 11,
      "type" : "MIN_HASH",
      "position" : 0
    },
    ...
    {
      "token" : "쵴ᏸ飖荺氁㐫ﴯ틖",
      "start_offset" : 0,
      "end_offset" : 11,
      "type" : "MIN_HASH",
      "position" : 0
    }]
}

问题是,在给定的情况下,我无法获得文档的实际minhash值(例如,base64编码的字符串)。

有解决问题的建议吗?

0 个答案:

没有答案