Open hansendx opened 4 years ago
@hansendx macht für die nächste Sitzung pro Suchtab eine Liste mit Metadatenfelder, die in die Suche eingehen. Diese Metadatenfelder können/sollten dann ein Gewicht bekommen.
Aktuelle Veränderung der Gewichtung ist nicht dauerhaft implementiert.
Variablensuche:
Fragensuche:
Topicsuche:
Topicsuche:
Publikationssuche:
Basissuche:
Ein offener Punkt, die Aufgabe/Anfrange, war, den benannten Feldern, von @hansendx, siehe oben, Werte für einen 'boost' zur Priosierung der Suche zuzuweisen.
Zum Verstehen und Weitergeben habe ich versucht alles tabellarisch Aufzubereiten, so gut es mir möglich war. Aber es gibt noch einiges zu tun:
Ich konnte nicht alles zuordnen, deshalb bitte ich um mehr Informationen und/oder Ergänzungen/Verbesserungen für die Darstellung.
Ich habe in der Spalte isieber noch nichts eingetragen, weil ich immer noch nicht weiß, was da korrekt einzutragen ist. Ich weiß nichts über den Wertebereich und was der Wert bewirken würde.
usecase | index_name | field_name | description | type | hansendx | isieber | kwenzig |
---|---|---|---|---|---|---|---|
Variablensuche | name | varname | name | 10 | 20 | ||
label | Var label en | short free text | 10 | 10 | |||
label_de | Var label de | short free text | 10 | 10 | |||
description | ? | ? | 5 | 5 | |||
description_de | ? | ? | 5 | 5 | |||
description_long | ? | ? | 5 | 5 | |||
categories.labels | Value Label en | short free text | 2 | 2 | |||
categories.labels_de | Value Label de | short free text | 2 | 2 | |||
dataset | Datafile name | name | 2? | 10 | |||
------------------- | ------------------- | ---------------------- | ----------------------- | --------------------- | ------------ | ----------- | ----------- |
Fragensuche | name | ? | 20 | ||||
label | Questiontext en | long free text | 10 | ||||
label_de | Questiontext de | long free text | 10 | ||||
description | ? | ? | 5 | ||||
description_de | ? | ? | 5 | ||||
items.en | ? | ? | |||||
items.de | ? | ? | |||||
------------------- | ------------------- | ---------------------- | ----------------------- | --------------------- | ------------ | ----------- | ----------- |
Topicsuche | name | Topic-key? | arbitrary name? | ||||
label | TopicTitle/heading en | short free text | 10 | ||||
label_de | TopicTitle/heading de | short free text | 10 | ||||
description | ? | ? | 5 | ||||
description_de | ? | ? | 5 | ||||
------------------- | ------------------- | ---------------------- | ----------------------- | --------------------- | ------------ | ----------- | ----------- |
Publikationssuche | name | SOEPlit No. | number | ||||
title | Pub Title | (short) free text | 10 | ||||
author | authors names | (short) free text | 20 | ||||
abstract | Text | very long free text | 5 | ||||
cite | complete citation | free text | 10 | ||||
doi | URL | URL | |||||
------------------- | ------------------- | ---------------------- | ----------------------- | --------------------- | ------------ | ----------- | ----------- |
Basissuche | in_all_indices | name | ? | 20 | |||
label | Text en | short free text | 10 | ||||
label_de | Text de | short free text | 10 | ||||
description | ? | ? | 5 | ||||
description_de | ? | ? | 5 | ||||
------------------- | ---------------------- | ----------------------- | --------------------- | ------------ | ----------- | ----------- | |
Publikationsindex | title | Pub Title | (short) free text | 10 | |||
author | authors names | (short) free text | 20 | ||||
abstract | Text | very long free text | 5 | ||||
cite | complete citation | free text | 10 | ||||
doi | URL | URL | |||||
------------------- | ---------------------- | ----------------------- | --------------------- | ------------ | ----------- | ----------- | |
FragenIndex | items.en | ? | ? | ||||
items.de | ? | ? | |||||
------------------- | ---------------------- | ----------------------- | --------------------- | ------------ | ----------- | ----------- | |
Variablenindex | description_long | ? | ? | 5 | |||
categories.labels | Value Label en | short free text | 10 | ||||
categories.labels_de | Var label de | short free text | 10 | ||||
dataset | Datafile name | name | 20 |
Hi, zu publications kann ich beitragen:
`
usecase | index_name | field_name | description | type | hansendx | isieber | kwenzig |
---|---|---|---|---|---|---|---|
Variablensuche | name | varname | name | 10 | |||
label | Var label en | short free text | 10 | ||||
label_de | Var label de | short free text | 10 | ||||
description | ? | ? | 5 | ||||
description_de | ? | ? | 5 | ||||
description_long | ? | ? | 5 | ||||
categories.labels | Value Label en | short free text | 2 | ||||
categories.labels_de | Value Label de | short free text | 2 | ||||
dataset | Datafile name | name | 2? | ||||
------------------- | ------------------- | ---------------------- | ----------------------- | --------------------- | ------------ | ----------- | ----------- |
Fragensuche | name | ? | |||||
label | Questiontext en | long free text | |||||
label_de | Questiontext de | long free text | |||||
description | ? | ? | |||||
description_de | ? | ? | |||||
items.en | ? | ? | |||||
items.de | ? | ? | |||||
------------------- | ------------------- | ---------------------- | ----------------------- | --------------------- | ------------ | ----------- | ----------- |
Topicsuche | name | Topic-key? | arbitrary name? | ||||
label | TopicTitle/heading en | short free text | |||||
label_de | TopicTitle/heading de | short free text | |||||
description | ? | ? | |||||
description_de | ? | ? | |||||
------------------- | ------------------- | ---------------------- | ----------------------- | --------------------- | ------------ | ----------- | ----------- |
Publikationssuche | name | SOEPlit No. | number | ||||
title | Pub Title | (short) free text | |||||
author | authors names | (short) free text | |||||
abstract | Text | very long free text | |||||
cite | complete citation | free text | |||||
doi | URL | URL | |||||
------------------- | ------------------- | ---------------------- | ----------------------- | --------------------- | ------------ | ----------- | ----------- |
Basissuche | in_all_indices | name | ? | ||||
label | Text en | short free text | |||||
label_de | Text de | short free text | |||||
description | ? | ? | |||||
description_de | ? | ? | |||||
------------------- | ---------------------- | ----------------------- | --------------------- | ------------ | ----------- | ----------- | |
Publikationsindex | title | Pub Title | (short) free text | ||||
author | authors names | (short) free text | |||||
abstract | Text | very long free text | |||||
cite | ? | ? | |||||
doi | URL | URL | |||||
------------------- | ---------------------- | ----------------------- | --------------------- | ------------ | ----------- | ----------- | |
FragenIndex | items.en | ? | ? | ||||
items.de | ? | ? | |||||
------------------- | ---------------------- | ----------------------- | --------------------- | ------------ | ----------- | ----------- | |
Variablenindex | description_long | ? | ? | ||||
categories.labels | Value Label en | short free text | |||||
categories.labels_de | Var label de | short free text | |||||
dataset | Datafile name | name |
` name ist für die Suche irrelevant (wird nicht ausgespielt, sollte ganz rausgenommen werden?) cite enthält die Felder author, title, doi und zusätzlich journal bzw. Buchtitel oder DP-Reihe doi ist in der Ursprungsdatenbank keine URL (soweit ich weiß), für Suche und Index irrelevant
Ich habe in der Spalte isieber noch nichts eingetragen, weil ich immer noch nicht weiß, was da korrekt einzutragen ist. Ich weiß nichts über den Wertebereich und was der Wert bewirken würde.
TODO: See eg. Scoring Example
- score
- Term frequency
- Inverse document frequency (idf)
- Coordination (coord)
- Field length normalization (norm)
- Query normalization (queryNorm)
- Index boost: This is a percentage or absolute number used to boost any field at index time.
- Query boost: This is a percentage or absolute number that can be used to boost any query clause at query time.
Die Formel hinter dem Link im Detail zu verstehen ist nicht unbedingt relevant. Trotzdem als einschub: Die wichtigsten bestandteile wären hier term frequency und inverse document frequency. Durch die term frequency wird ein Objekt relevanter je öfter es einen Suchterm enthält und durch die inverse Dokument frequency wird ein Term als weniger wichtig für die relevanz einschätzung gewertet, wenn er in vielen Objekten im Korpus auftaucht.
Ich bin mir auch nicht sicher ob sie so, wie sie dort steht angewendet wird.
Die Dokumentation dazu lässt leider zu wünschen übrig. Ich habe mal in Reactivesearch selbst rein geschaut und ausfindig gemacht, was mit dem field weight überhaupt passiert:
Das Query, das dort erzeugt wird ist hier dokumentiert:
https://www.elastic.co/guide/en/elasticsearch/reference/7.5/query-dsl-multi-match-query.html
Leider steht dort auch nur:
"Individual fields can be boosted with the caret (^) notation:"
GET /_search
{
"query": {
"multi_match" : {
"query" : "this is a test",
"fields" : [ "subject^3", "message" ]
}
}
}
und "The subject field is three times as important as the message field."
Von dieser Aussage her würde ich annehmen, dass der boost wert mit dem eigentlichen score multipliziert wird.
Der default Wert scheint 1 zu sein. Zahlen zwischen 1.0 und 0.0 können auch vergeben werden, diese drücken die relevanz von Feldern dann nach unten.
Die Felder die ich da auf 2 gesetzt habe könnte man eigentlich auch auf 1 belassen. Ist nur unnötige rechenarbeit, wenn es keine Felder gibt die niedriger geboostet werden.
Variablensuche:
Fragensuche:
Topicsuche:
Topicsuche:
Publikationssuche:
Basissuche: