【问题标题】:ElasticSearch - Comparing the title of documents in two indexesElasticSearch - 比较两个索引中的文档标题
【发布时间】:2018-03-06 13:07:28
【问题描述】:

我是 ElasticSearch 的新手,想在继续之前看看是否可行。

我有两个索引(不一定是,它们的结构可能不同)。

为简单起见,这些索引包含带有标题的文档。

{
    "_index": "source1",
    "_type": "document",
    "_id": "1",
    "_version": 2,
    "found": true,
    "_source": {
        "title": "Defendant: SMITH, JOHN. Charge: Murder."
    }
}

{
    "_index": "source2",
    "_type": "document",
    "_id": "1",
    "_version": 1,
    "found": true,
    "_source": {
        "title": "SMITH, John Edward"
    }
}

每个索引大约有 20-30,000 行,总共大约有 6 个索引。

我需要比较所有索引中的所有文档,并根据标题中的单词找出最有可能匹配的文档(主要是查看标题中的名称)。

基本上我需要在不知道搜索词的情况下进行搜索。

我将在 ElasticSearch 中使用 NEST。有人能指出我正确的方向吗?谢谢。

【问题讨论】:

  • 最有可能根据标题中的单词进行匹配 - 区分大小写/不区分大小写?单词应该进行词干化和词形还原吗?是否应该考虑同义词?相关性评分是否有一些门槛?一个简单(天真)的第一种方法可能是使用更像这个查询:elastic.co/guide/en/elasticsearch/reference/5.6/…

标签: elasticsearch nest


【解决方案1】:

对我来说,最好的方法是用你的类型名称反转你的索引名称。

document 的类型对于两个索引都是相同的,因此将所有文档放在同一个索引中,具有不同的类型。然后你就可以执行你的请求了。

【讨论】:

  • 我的想法是我必须使用类型分类器将所有文档放入一个索引中,但我仍然不确定其余的。即如何匹配标题的相关性。
  • 我不明白,您不知道如何提出您的要求?如果是这样,只需进行匹配查询,如this for example
  • 但我不知道我匹配的是什么术语,我需要将一个文档标题的相关性与另一个匹配。如上。 “基本上我需要在不知道搜索词的情况下进行搜索”
  • 在 elasticsearch 中了解更多类似此查询的信息。如果这没有帮助,请告诉我们原因,我们可能会更好地解决您的问题
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-10-21
  • 1970-01-01
  • 1970-01-01
  • 2012-07-16
  • 2014-03-06
相关资源
最近更新 更多