के साथ 1 पर रहता है हम ElasticSearch 2.2.0 के लिए elastic4s का उपयोग कर रहे हैं। डिस्क पर JSON के रूप में कई प्रश्न संग्रहीत किए जाते हैं और elastic4s ड्राइवर के माध्यम से rawQuery के रूप में उपयोग किए जाते हैं। परिणाम में स्कोर कमांड लाइन या elastic4s ड्राइवर के माध्यम से सबमिट की जा रही क्वेरी के बीच अलग है। Elastic4s ड्राइवर हमेशा सभी परिणामों के लिए 1 का स्कोर देता है, जबकि कमांड लाइन निष्पादन दो अलग-अलग स्कोर (विभिन्न डेटा प्रकारों के लिए) उत्पन्न करता है।elastic4s: स्कोर rawQuery
elastic4s के लिए कोड:
val searchResult = client.execute {
search in indexName types(product, company, orga, "User", "Workplace") rawQuery preparedQuery sourceInclude(preparedSourceField:_*) sort {sortDefintions:_*} start start limit limit
}.await
ध्यान दें कि मैं लेकिन rawQuery preparedQuery
कुछ भी हटा दिया है और यह स्कोर नहीं बदला। कमांड लाइन के माध्यम से पूर्ण क्वेरी काफी लंबा है:
{
"query": {
"bool": {
"must": [
{
"multi_match": {
"query": "${search}",
"fields": [
"name",
"abbreviation",
"articleNumberManufacturer",
"productLine",
"productTitle^10",
"productSubtitle",
"productDescription",
"manufacturerRef.name",
"props"
]
}
}
],
"filter": [
{
"or": [
{
"bool": {
"must": [
{
"type": {
"value": "Product"
}
},
{
"term": {
"publishState": "published"
}
}
],
"must_not": [
{
"term": {
"productType": "MASTER"
}
},
{
"term": {
"deleted": true
}
}
]
}
}
]
}
]
}
}
}
ध्यान दें कि यह लगभग preparedQuery
लेकिन खोज क्वेरी के साथ $search
के प्रतिस्थापन के लिए है। लोचदार खोज आरईएसटी क्लाइंट मैचों के लिए 3.075806 का स्कोर देता है।
के एक सदस्य जब आप कहते हैं कि परिणाम स्कोर नहीं है इस पर-आइटम स्कोर है? "लोचदार खोज आरईएसटी क्लाइंट मैचों के लिए 3.075806 का स्कोर देता है।" क्या मतलब है? – James
क्या आपको elastic4s ड्राइवर और REST के माध्यम से सटीक परिणाम मिलते हैं? – Val
@ लोचदार खोज जेएसटीएस का मतलब है क्लाइंट सीधे कर्ल के माध्यम से लोचदार खोज पूछताछ। वैल आरईएसटी क्वेरी के लिए वैल्यू स्कोर अलग है, elastic4s और 3.075806 के लिए 1 अलग है। – TeTeT