查找類似主題(一式兩份提名)我們有一個網站,用戶可以發佈內容到網站後適度檢查內容,他們發佈的,標題和說明是最重要的領域的內容,我們要防止用戶發佈類似的帖子所以我們尋找實現方法來找到類似的帖子和提示適度這些內容是非常相似的一些舊帖子和版主仔細檢查他們的重複,我的意思是警告他們作爲可疑重複,我們索引所有內容在彈性搜索和我的問題,我們必須寫最佳查詢。 這是代碼的一部分,我們試過,但在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