Milyonlarca etiket içinde arama yapmak için ElasticSearch kullanıyoruz. Kullanıcılarımız, boolean operatörlerini (+, -, "xy", AND, OR, parantez) ekleyebilmelidir. Hiçbir isabet iade edilmezse, ES tarafından sağlanan bir yazım önerisine geri dönüp tekrar arama yaparız.ElasticSearch'te ifade sorguları için bulanıklık nasıl etkinleştirilir
$ curl -XGET 'http://127.0.0.1:9200/my_index/my_type/_search' -d '
{
"query" : {
"query_string" : {
"query" : "some test query +bools -included",
"default_operator" : "AND"
}
},
"suggest" : {
"text" : "some test query +bools -included",
"simple_phrase" : {
"phrase" : {
"field" : "my_tags_field",
"size" : 1
}
}
}
}
yerine sadece yazım önerilerine karşı son çareleri belirtmek nedeniyle, bulanık eşlemeyi etkinleştirmek istiyorum: Bu bizim sorgu var. Örneğin, bir kullanıcı "stackoverfolw" için arama yaparsa, ES "stackoverflow" için eşleşmeleri döndürmelidir.
Ek soru: Yazım hataları "düzeltiliyor" için daha iyi performans yöntemi nedir? Şimdi olduğu gibi, önce orijinal arama terimiyle, daha sonra ES tarafından önerilen terimle, iki müteakip istek gerçekleştirmeliyiz.
Teşekkürler - bu benim düşüncelerimi onaylıyor. Her neyse, sahip olduğumuz şeye bağlıyız. Daha hızlı bir yaklaşım gibi görünüyor. "Bulanık sorgu" ile ilgili olarak, ElasticSearch dokümanlar bile iyi ölçeklenebilir olmadığına dair bir uyarıdan söz ediyorlar. –