我々は、ユーザーがWebサイトにコンテンツを投稿することができ、ウェブサイトを持っており、彼らは公表節度チェック内容の後、タイトルと説明は、そのコンテンツの最も重要な分野です検索、我々はないようにしたいですユーザーは同様の投稿を公開するように私たちは同様の投稿とヒントを見つけるためのメソッドを実装するため、これらのコンテンツはいくつかの古い投稿と非常によく似ており、モデレータは重複を慎重に確認しています。 Elastic検索では、私たちが書かなければならない最適なクエリについての私の質問。 これは、我々がしようとしたコードの一部が、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();
である私は2つの別々の一致クエリ、またはよりよい解決策を試してみてください、マルチマッチングを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
私はそのリンクを見ました、それはうまく見えますが、私は解決策を探しています2つの分野では、タイトルと説明を持つタイトルと説明、 – zhilevan