Wir verwenden elastic4s für ElasticSearch 2.2.0. Eine Anzahl von Abfragen wird als JSON auf dem Datenträger gespeichert und als rawQuery über den Treiber elastic4s verwendet. Die Punktzahl im Ergebnis unterscheidet sich zwischen der Abfrage, die über die Befehlszeile oder dem Elastic4s-Treiber übermittelt wird. Der Treiber von elastic4s gibt für alle Ergebnisse immer den Wert 1 zurück, während die Ausführung der Befehlszeile zwei unterschiedliche Werte (für verschiedene Datentypen) ergibt.elastic4s: Ergebnis bleibt bei 1 mit rawQuery
Der Code für 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
Bitte beachte, dass ich alles andere als rawQuery preparedQuery
entfernt und es die Partitur nicht ändern. Die vollständige Abfrage über die Kommandozeile ist ziemlich lang:
{
"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
}
}
]
}
}
]
}
]
}
}
}
Beachten Sie, dass dies fast preparedQuery
ist aber für den Ersatz von $search
mit der Suchanfrage. Der REST-Client für die elastische Suche gibt eine Punktzahl von 3.075806 für die Übereinstimmungen zurück.
ist Wenn Sie Ergebnis Punktzahl sagen, das ist der pro-Punkt-Score? Was bedeutet "Der REST-Client für die elastische Suche gibt einen Wert von 3,075806 für die Übereinstimmungen zurück." bedeuten? – James
Erhalten Sie genau die gleichen Ergebnisse durch elastic4s-Treiber und durch REST? – Val
@James Der REST-Client für elastische Suche bedeutet, dass die elastische Suche direkt über Locken abgefragt wird. Val der Score ist unterschiedlich, 1 für elastic4s und 3.075806 für die Curl-REST-Abfrage. – TeTeT