查找类似主题(一式两份提名)我们有一个网站,用户可以发布内容到网站后适度检查内容,他们发布的,标题和说明是最重要的领域的内容,我们要防止用户发布类似的帖子所以我们寻找实现方法来找到类似的帖子和提示适度这些内容是非常相似的一些旧帖子和版主仔细检查他们的重复,我的意思是警告他们作为可疑重复,我们索引所有内容在弹性搜索和我的问题,我们必须写最佳查询。 这是代码的一部分,我们试过,但在Elasticsearch
$nameDesc = $title->Title. ' ' . $item->Description;
$query = [
'_source' => ['name', 'description', 'price'],
'query' => [
'filtered' => [
'query' => [
'multi_match' => [
'fields' => ['title', 'description'],
'type' => 'cross_fields',
'query' => $nameDesc
]
],
'filter' => [
'not' => [
'ids' => ['values' => [$item->ID]]
]
],
],
]
];
$dupeCandidates = $this->indexService->buildSearch('articles', $query)->setLimit(4)->get();
我想这是最好的,而不是CONCAT 标题和说明做cross_fields多的比赛,尝试两个独立的匹配查询,或更好的解决方案。
简明扼要我们在Elasticsearch的标题和描述中寻找最佳查询检测高相似内容。
更新
根据答案的一个已建议我尝试下面的代码片段,但没有结果(我想一个标题,在索引究竟存在)
GET /_search
{
"query":{
"bool":{
"must":{
"more_like_this":{
"fields":[ "title", "description" ],
"like": "EXAMPLE EXIST TILE",
"min_term_freq":1,
"max_query_terms":100,
"min_doc_freq":0
}
}
}
}
}
可以提供它的查询? – zhilevan
我看到了这个链接,看起来很好,但我正在寻找一个解决方案做两个领域的相似性,标题与标题和说明描述, – zhilevan