我調查的可能性從SphinxSearch
切換到ElasticSearch
。ElasticSearch:全文搜索變得容易
SphinxSearch
有什麼好處 - 全文搜索只是在機器人的相當好的水平上工作。讓它在ElasticSearch
上工作並不像我想象的那麼容易。
在我的項目中,我有一個typeahead搜索框,意思是stype Clint E
,並看到下拉結果包括Clint Eastwood
在第一位。請輸入robert down
,首先請參閱Robert Downey Jr.
。所有這些我用SphinxSearch
開箱即可實現,只需提供我的數據庫憑據和SQL查詢即可提取必要的字段。
在另一方面,ElasticSearch
我甚至不能閱讀約Fuzzy Like This Query,matching,partial matching等了一天後,得到滿意的結果。許多信息,但它不會讓任務更容易。我覺得我需要成爲博士才能在最簡單的層面上工作。
到目前爲止,我結束了這樣的配置
{
"settings": {
"analysis": {
"analyzer": {
"stem": {
"tokenizer": "standard",
"filter": [
"standard",
"lowercase",
"stop",
"porter_stem"
]
}
}
}
},
"mappings": {
"movies": {
"dynamic": true,
"properties": {
"title": {
"type": "string",
"analyzer": "stem"
}
}
}
}
}
查詢是這樣的:
{
"query": {
"query_string": {
"query": "clint eastw"
"default_field": "title"
}
}
}
但在這種情況下,搜索的質量不令人滿意時在所有 - 回到我的例子,它不能找到Clint Eastwood
配置文件,直到我完全鍵入他的名字。
然後我試圖使用
{
"query": {
"fuzzy_like_this": {
"fields": [
"title"
],
"like_text": "clint eastw",
"max_query_terms": 25,
"fuzziness": 0.5
}
}
}
它可以幫助,但不是很多,現在我能找到我所需要用較短的要求clint eastwo
和一些操作與clint eastw
但仍不容樂觀參數之後。
所以我想知道,是否有一個簡單的食譜如何烹飪與ElasticSearch
全文搜索並獲得體面的質量的結果。我花了一天的時間閱讀,但沒有找到解決方案。
夫婦圖片來演示一下我所說的:
彈性,名字幾乎完全,但沒有預期的結果,請注意,有沒有更好的比賽也是如此。後
一封信,彈性找到了!
在同一時刻閃耀着獅身人面像:)
感謝您的回答。我只是嘗試了一下,它效果更好,當我爲Clint Eastwood輸入'Clint E'但卻沒有快樂時,它會產生結果,例如,當我輸入'Eastwood Clint'時找不到那個人......並且再一次,獅身人面像完成這項工作。 – SmxCde
它看起來像'ElasticSearch'需要太多的努力,使其實際工作。可能它更有能力,但絕對不是快速啓動:( – SmxCde