2016-02-25 93 views
1

好好整理了整整一天的頭髮,試圖找出那一個,我決定從社區獲得一些輸入。檢索索引前的Elasticsearch文檔相似性

應該提到,我對Elasticsearch相當陌生。

的想法是,我有一個包含一些文件的ES指數,我需要指數只有當與類似的字段內容不存在的文件(但不一定等於)已收錄的新文檔。

我可以在多個字段上執行匹配查詢並獲得查詢的全局分數,但由於該分數不是可用最大分數的百分比,所以我不確定如何設置閾值以確定是否可以插入或不是。

我顯然有點困惑的ES評分系統。 在此先感謝您提供的所有幫助。

編輯:

作爲一個基本的例子

這已經編入索引:

{ 
    "title": "My first blog entry", 
    "text": "Just trying this out...", 
    "date": "2014/01/01" 
} 

這是新的,但不應該被索引,因爲字段是不是平等的,但過於相似:

{ 
    "title": "My first blog entries", 
    "text": "Just trying it out...", 
    "date": "2014/01/01" 
} 

這是新的和應該被索引:

{ 
    "title": "My second entry for this blog", 
    "text": "I am just trying out a few things", 
    "date": "2014/01/01" 
} 

所以基本上重複數據刪除之前的索引和基於域類似之處,我以後:)

+0

提供一些示例文檔以及您希望它們如何匹配(或不匹配)將是一個好主意。如果沒有更多的信息,很難描繪出你的想法。幫助我們來幫助你;-) – Val

+0

嗨,我已經用例子更新了這個問題:) – SebScoFr

回答

1

你需要一個完美的解決方案是查詢。

在這樣的查詢,可以提供在like場人工文件,將文件對您的索引中的相似性匹配。默認情況下,他們將使用所有可用字段,但您也可以選擇有限數量的字段進行比較。

大部分時間裏,該查詢用於檢索類似於一個文件或幾個文件,用戶可能在看,或者說,用戶選擇。儘管如此,您也可以使用此功能分析所返回文檔的分數(如果有)並決定是否索引您的文檔。

請參考上面鏈接有關參數的綜合列表的文檔頁面。

+0

謝謝,我要去調查more_like_this,看看它是怎麼回事! – SebScoFr