api.v2.search Schnittstellenbeschreibung

Copyright ©

Mindbreeze GmbH, A-4020 Linz, 02.11.2018.

Alle Rechte vorbehalten. Alle verwendeten Hard- und Softwarenamen sind Handelsnamen und/oder Marken der jeweiligen Hersteller.

Diese Unterlagen sind streng vertraulich. Durch die Übermittlung und Präsentation dieser Unterlagen alleine werden keine Rechte an unserer Software, an unseren Dienstleistungen und Dienstleistungsresultaten oder sonstigen geschützten Rechten begründet.

Die Weitergabe, Veröffentlichung oder Vervielfältigung ist nicht gestattet.

Aus Gründen der einfacheren Lesbarkeit wird auf die geschlechtsspezifische Differenzierung, z.B. Benutzer/-innen, verzichtet. Entsprechende Begriffe gelten im Sinne der Gleichbehandlung grundsätzlich für beide Geschlechter.

EinleitungPermanenter Link zu dieser Überschrift

Dieses Dokument beschäftigt sich mit der Mindbreeze Web API zum Abfragen von Suchresultaten. Sie wurde an Anlehnung zu der Dokumentation api.v2.search auf help.mindbreeze.com implementiert. Dabei werden die Inhalte anhand von Beispielen illustriert und erklärt. Dabei wird der Fokus vor allem in die Verwendung mittels Backend beleuchtet. Die Kommunikation der API wird in dieser Dokumentation mithilfe des Chromium Browser und dem Plugin Postman durchgeführt. Die API verwendet dabei das Protokoll JSON für die Kommunikation.

Suchanfragen werden als HTTP POST-Request an ein Client Service gesendet. Der Pfad für Suchanfragen lautet: <Client Service URL>/api/v2/search

Im Body des HTTP-Request wird ein JSON-Dokument mitgeschickt, das die Suchanfrage beschreibt. Wie dieses JSON-Dokument auszusehen hat, wird in Kapitel 3 und Kapitel 4 beschrieben.

Als Response erhält man ebenfalls ein JSON-Dokument. Dieses wird in Kapitel 2 beschrieben.

Felder im SuchergebnisPermanenter Link zu dieser Überschrift

search_requestPermanenter Link zu dieser Überschrift

Das JSON-Dokument der Suchanfrage (vom Request).

alternativesPermanenter Link zu dieser Überschrift

Enthält Informationen zu alternativen Suchbegriffen, die nach Typ gruppiert sind. Der Eintrag mit id user_query enthält den Suchbegriff des Benutzers nach Anwendung sämtlicher Synonyme oder anderer Query Transformation Regeln. Der Eintrag mit id query_spelling bietet Rechtschreibkorrektur.

Die Einträge enthalten jeweils Listen von Alternativen (entries). Darin ist der Suchbegriff in html enthalten, eine Abschätzung der zu erwartenden Ergebnisse in count und die in query_expr.

{

  "id": "user_query",

  "name": "user_query",

  "entries": [{

    "html": "mindbreeze",

    "count": 1,

    "query_expr": {

      "unparsed": "mindbreeze"

    }

  }]

}

namePermanenter Link zu dieser Überschrift

Name der Suche. Kann im search_request mit name gesendet werden.

estimated_countPermanenter Link zu dieser Überschrift

Abschätzung der erwarteten Trefferanzahl.

facetsPermanenter Link zu dieser Überschrift

Eine Liste von Filtern für die aktuelle Suche. id enthält den Namen des Metadatums, name den Anzeigenamen.

Die Einträge liegen in entries. Mit html kann auf den Wert zugegriffen werden, mit count auf die geschätzte Anzahl von Ergebnissen, mit query_expr auf die , die zur Einschränkung verwendet werden kann. Filter können auch hierarchisch sein, dann gibt es auch ein entries-Feld für einen Wert.

order_criteria und order_direction (ASCENDING, DESCENDING) zeigen die Sortierung der Filter.

Sortierungsbeschreibung order_criteria

COUNT

Geschätzte Anzahl

HTML

Textuelle Beschreibung (z.B. August vor Juli)

VALUE

Wert (z.B. Juli vor August)

{

  "id": "mes:date",

  "name": "Date",

  "entries": [{

    "html": "2016",

    "count": 676,

    "query_expr": {

      …

    },

    "entries": [{

      "html": "July",

      …

    }],

  }],

  "order_criteria": "COUNT",

  "order_direction": "DESCENDING"

}

orderbyPermanenter Link zu dieser Überschrift

Enthält die Eigenschaft, nach der die Ergebnisse sortiert sind.

orderablePermanenter Link zu dieser Überschrift

Eine Liste von Eigenschaften, die für die Sortierung verwendet werden können. Jeweils mit Name (name) und Anzeigenname (localized_name).

available_propertiesPermanenter Link zu dieser Überschrift

Eine Liste von Eigenschaften, die für die Anzeige verwendet werden können. Jeweils mit Name (name) und Anzeigenname (localized_name).

available_facetsPermanenter Link zu dieser Überschrift

Eine Liste von Eigenschaften, die als Filter zur Verfügung stehen. Jeweils mit Name (name) und Anzeigenname (localized_name).

resultsetPermanenter Link zu dieser Überschrift

Enthält die Liste der Resultate (results), Informationen zum Blättern (prev_avail, next_avail, per_service_dataset) und die Sortierrichtung der Ergebnisse (order_direction, ASCENDING oder DESCENDING).

prev_avail enthält true, wenn in der Liste der Ergebnisse zurück, next_avail, wenn nach vorne geblättert werden kann.

per_service_dataset besitzt die id des angefragten Service,

termination_cause

COUNT_LIMIT

Weitere Resultate vorhanden

NO_MORE_RESULTS

Keine weiteren Resultate vorhanden

TIMEOUT

Die Suche hat weniger als count Treffer geliefert und in einer Phase der Suche ist ein Timeout passiert. Die Aussage ist hier es könnte noch mehr Treffer geben. Der gesamte Timeout der Suche wird in Phasen angewendet.

ABORT

Die Suche wurde abgebrochen

SHORTCUTTED

Die Suche wurde abgebrochen, weil es keine Ergebnisse mit der gegebenen Sucheinschränkung nach Datenquellen gibt.

UNKNOWN

Unbekannt

und paging_state zum .

{

  "id": "https://demo.mindbreeze.com/public/",

  "termination_cause": "COUNT_LIMIT",

  "paging_state": {

    "id": "unnamed",

    "state": "\n\u00010\u0010\u0000\u0018\u0001",

    "digest": "dBCFawAIMiGsGEflr6JYhw=="

  }

}

ResultatePermanenter Link zu dieser Überschrift

properties enthält die Liste der angeforderten Metadaten. Jeweils mit Name (id) und Anzeigename (name), sowie einer Liste der Einträge (data).

Wurde bei der Suchanfrage verwendet, enthält group den Wert.

id ist eine Kennung des Treffers, location wird für die Vorschau benötigt. rank_score kann für die Sortierung verwendet werden und relevance_score enthält die Relevanzbewertung.

{

  "id": "Web:wwwmindbreezecom:https://www.mindbreeze.com/…",

  "location": "aHR0cHM6Ly9pbnNwaXJlcHJvZC5pbnNwa…",

  "rank_score": 53.4155,

  "relevance_score": 53.4155,

  "properties": [{

    "id": "title",

    "name": "Title",

    "data": [{

      "html": "Vertragsmanagement | <em>Mindbreeze</em>"

    }]

  },{

    "id": "content",

    "name": "content",

    "data": [{

      "html": "ist \nLösung mit <em>Mindbreeze</em> …"

    }]

  }],

  "order": {

    "num": 534155

  },

  "group": {

    "str": ""

  }

}

groupablePermanenter Link zu dieser Überschrift

Eine Liste von Eigenschaften, die für die Gruppierung verwendet werden können. Jeweils mit Name (name) und Anzeigenname (localized_name).

show_query_spelling_alternativesPermanenter Link zu dieser Überschrift

Zeigt an, ob Query Spelling Alternativen (z.B. ein Did You Mean) in der Antwort vorhanden sein können. In der Anfrage gibt es die Option alternative_query_spelling_max_estimated_count dieser wird hier mit dem estimated_count geprüft.

order_direction_availablePermanenter Link zu dieser Überschrift

Enthält true, wenn die Sortierungsreihenfolge in der Suchanfrage angegeben werden kann.

sort_date_facets_by_valuePermanenter Link zu dieser Überschrift

Gibt an, wie Datumsfilter sortiert werden. ‚true‘ sortiert die Werte nach Jahr und Monat und ‚false‘ sortiert die Werte nach Anzahlt der Treffer.
Type: Boolean

alternatives_query_spelling_max_estimated_countPermanenter Link zu dieser Überschrift

Siehe show_query_spelling_alternatives

source_contextPermanenter Link zu dieser Überschrift

Schränkt die Suche zusätzlich ein.

"source_context": {

  "constraints": [{

    id: "searchcontainer",

    unparsed: "extension:PDF"   

  }]

}

query_context_user_queryPermanenter Link zu dieser Überschrift

Enthält die Userquery und kann im LogPool der App.Telemetry angezeigt werden.
Type: String

Felder in der SuchanfragePermanenter Link zu dieser Überschrift

SuchtypenPermanenter Link zu dieser Überschrift

Dieser Abschnitt beschäftigt sich mit den 3 Typen von Suchen die sie mit der in diesem Document beschriebenen API gegen Mindbreeze InSpire absetzten können.

Unstrukturierte SuchePermanenter Link zu dieser Überschrift

Der Wert unparsed entspricht der Suche, wie sie auch im Suchfeld eingegeben werden kann.

{

  "unparsed": "mindbreeze OR inpsire"

}

TermsuchePermanenter Link zu dieser Überschrift

Findet Wörter und Wortteile. Das Beispiel findet Treffer mit mind, aber auch z.B. mindbreeze.

{

  "term": "mind"

}

PhrasensuchePermanenter Link zu dieser Überschrift

Findet nur Vorkommnisse der gesamten Phrase.

{

  "quoted_term": "mindbreeze inspire"

}

BlätternPermanenter Link zu dieser Überschrift

Um die Größe des HTTP Responses einzuschränken, werden im HTTP Response nicht alle Suchergebnisse zurückgegeben, sondern immer nur ein Auszug der Suchergebnisse. Dabei kann man im Request-JSON in count definieren, wie viele Suchergebnisse im Response maximal enthalten sein dürfen.

{                                                

  "query": {                                    

    "unparsed": "mindbreeze"                    

  },                                            

"count": 5
}

Die Suchantwort enthält resultset.prev_avail und resultset.next_avail um mitzuteilen, ob man zurück und/oder vor blättern kann.

"resultset": {

  …

  "prev_avail": false,

  "next_avail": true,

  "per_service_dataset": [

    {

      "id": "https://demo.mindbreeze.com/public/",

      "termination_cause": "COUNT_LIMIT",

      "paging_state": {

        "id": "unnamed",

        "state": "\n\u00010\u0010\u0000\u0018\u0001",

        "digest": "dBCFawAIMiGsGEflr6JYhw=="

      }

    }

  ]

}

Soll geblättert werden, gibt man die Richtung mit paging.direction (PREV, NEXT) an und übernimmt resultset.per_service_dataset.paging_state in paging_states:

{                                                

  "query": {                                    

    "unparsed": "mindbreeze"                    

  },                                            

  "count": 5,                                    

  "paging_states": [{                            

    "id": "unnamed",                            

    "state": "\n\u00010\u0010\u0000\u0018\u0001",

    "digest": "dBCFawAIMiGsGEflr6JYhw=="        

  }],                                            

  "paging": {                                    

    "direction": "NEXT"                          

  }                                              

}                  

Seitenweise NavigationPermanenter Link zu dieser Überschrift

Ist das seitenweise Navigieren aktiviert (die Option max_page_count ist gesetzt), enthält die Suchantwort resultset.result_pages, um direkt auf einzelne Ergebnisseiten zu springen.

  "result_pages": {

   "qeng_ids": [

    {

     "service_id": "https://demo.mindbreeze.com/public/",

     "qeng_id": "https://demo.mindbreeze.com:23300",

     "digest": "t/y1e0hHmK/VzgZNMwczHA=="

    }

   ],

   {"pages":[

     {"starts":[0],"counts":[5],"current_page":true,"page_number":0},

     {"starts":[5],"counts":[5],"page_number":1},

     {"starts":[10],"counts":[5],"page_number":2},

     {"starts":[15],"counts":[5],"page_number":3},

     {"starts":[20],"counts":[5],"page_number":4}

  ],

"page_size":5,"page_count":5,"more_avail":true},

   "page_size": 5,

   "page_count": 5,

   "more_avail": true

  }

}

Soll auf eine Resultatsseite navigiert werden, setzt man die result_pages auf die Suchanfrage und setzt jene Seite als „current_page“ auf die gezeigt werden soll.

"result_pages": {

   "qeng_ids": [

    {

     "service_id": "https://demo.mindbreeze.com/public/",

     "qeng_id": "https://demo.mindbreeze.com:23300",

     "digest": "t/y1e0hHmK/VzgZNMwczHA=="

    }

   ],

   {"pages":[

     {"starts":[0],"counts":[5],"page_number":0},

     {"starts":[5],"counts":[5],"current_page":true, "page_number":1},

     {"starts":[10],"counts":[5],"page_number":2},

     {"starts":[15],"counts":[5],"page_number":3},

     {"starts":[20],"counts":[5],"page_number":4}

  ],

"page_size":5,"page_count":5,"more_avail":true},

   "page_size": 5,

   "page_count": 5,

   "more_avail": true

  }

}

Logische OperatorenPermanenter Link zu dieser Überschrift

ErklärungPermanenter Link zu dieser Überschrift

Queries können wie in der Dokumentation auf help.mindbreeze.com auch mit and, or, not und vielen weiteren logischen Operatoren verknüpft werden. Nachstehend werden zur Illustration 2 queries mit einem und-operator verknüpft. Die Ergebnisse müssen „mindbreeze“ und gleichzeitig auch „About“ matchen.

CodePermanenter Link zu dieser Überschrift

{

  "query": {

  "and":[{

    "unparsed": "mindbreeze"

    },{

    "unparsed": "About"

    }]

  }

  "count": 5,

  "properties": [{

    "name": "title",

    "formats": ["HTML"]

  },{

    "name": "content",

    "formats": ["HTML"]

  }]

  

}

ErgebnisPermanenter Link zu dieser Überschrift

"resultset": {

    "results": [

      {

        "id": "SAP KMC:Default:/irj/go/km/docs/documents/MarketingPRTestdaten/DateienWebsite/Fabasoft%20Sales%20Kit%20(EN)/Mindbreeze/2013-02-27%20Mindbreeze%20Sales%20(English%2c%2016-9).pptx:",

        "location": "aHR0cHM6Ly9pbnNwaXJlcHJvZC5pbnNwaXJlLm1pbmRicmVlemUuY29tOjIzMzM5OjUzNzE=",

        "rank_score": 36.9355,

        "relevance_score": 36.9355,

        "properties": [

          {

            "id": "title",

            "name": "Title",

            "data": [

              {

                "html": "2013-02-27 <em>Mindbreeze</em> Sales (English, 16-9).pptx"

              }

            ]

          },

          {

            "id": "content",

            "name": "content",

            "data": [

              {

                "html": "<em>About Mindbreeze</em> \nVienna, February 28...– 10:30 \t<em>Mindbreeze</em>  \n\t10:30 – 12:00 \t<em>Mindbreeze</em> InSite  \n\t12:00...– 14:30 \t<em>Mindbreeze</em> InSpire  \n\t14:30...– 16:00 \t<em>Mindbreeze</em> InApp  \n\t16:00...– 17:30 \t<em>Mindbreeze</em> InTouch  \n \n \n \n \n<em>Mindbreeze</em> Products \n \nLIGHT IN...arbeitet, findet mit <em>Mindbreeze</em> Enterprise Search relevante...website: http://insite.<em>mindbreeze</em>.com  \nBenefits and"

              }

            ]

          }

        ],

        "order": {

          "num": 369355

        },

        "group": {

          "str": ""

        }

      },

NearPermanenter Link zu dieser Überschrift

ErklärungPermanenter Link zu dieser Überschrift

Mit Near kann können Suchbegriffe eingeschränkt werden auf die Distanz der Vorkommnisse. Wird Beispielsweise nach mindbreeze NEAR inspire gesucht. So darf die Distanz zwischen mindbreeze und inspire nicht über 6 Wörter betragen damit das Ergebnis der Suchanfrage matched. Die Reihenfolge wird dabei ignoriert (mindbreeze NEAR inspire == inspire NEAR mindbreeze).

CodePermanenter Link zu dieser Überschrift

{

  "query": {

    "near": ["mindbreeze","inspire"]

    

  }

  "count": 1,

  "properties": [{

    "name": "title",

    "formats": ["HTML"]

  },{

    "name": "content",

    "formats": ["HTML"]

  }]

  

}

ErgebnisPermanenter Link zu dieser Überschrift

"resultset": {

    "results": [

      {

        "id": "Web:wwwmindbreezecom:https://www.mindbreeze.com/de/inspire-training-feb2017:",

        "location": "aHR0cHM6Ly9pbnNwaXJlcHJvZC5pbnNwaXJlLm1pbmRicmVlemUuY29tOjIzMzMxOjM1MTA=",

        "rank_score": 43.8645,

        "relevance_score": 43.8645,

        "properties": [

          {

            "id": "title",

            "name": "Title",

            "data": [

              {

                "html": "<em>Mindbreeze InSpire</em> Training"

              }

            ]

          },

          {

            "id": "content",

            "name": "content",

            "data": [

              {

                "html": "<em>Mindbreeze InSpire</em> Training\nDauer: 3...wichtigsten Neuerungen von <em>Mindbreeze InSpire</em>. Wir freuen uns...richtigen Umgang mit <em>Mindbreeze InSpire</em> und im Speziellen...Einführung in das <em>Mindbreeze InSpire</em> SDK Entwicklung\n\tDetails...Sicherheitsmodells\n        Know-how: <em>Mindbreeze InSpire</em> SDK (z. B"

              }

            ]

          }

        ],

        "order": {

          "num": 438645

        },

        "group": {

          "str": ""

        }

„To“-OperatorPermanenter Link zu dieser Überschrift

ErklärungPermanenter Link zu dieser Überschrift

Bei numerischen Werten kann darüber hinaus automatisch der TO Operator angewendet werden. Dies ist sogar bei nummerischen Werten im Fließtext eines Ergebnisses möglich. In unserem Beispiel werden nur jene Ergebnisse zurückgegeben, die einen Zahl zwischen 100 und 103 enthalten.

CodePermanenter Link zu dieser Überschrift

{

  "query": {

    "from":"100",

    "to":"103"

    

  }

  "count": 5,

  "properties": [{

    "name": "title",

    "formats": ["HTML"]

  },{

    "name": "content",

    "formats": ["HTML"]

  }]

}

ErgebnisPermanenter Link zu dieser Überschrift

"resultset": {

    "results": [

      {

        "id": "Web:wwwmindbreezecom:https://www.mindbreeze.com/de/presse/100-companies-that-matter.html:",

        "location": "aHR0cHM6Ly9pbnNwaXJlcHJvZC5pbnNwaXJlLm1pbmRicmVlemUuY29tOjIzMzMxOjM3MTA=",

        "rank_score": 39.933,

        "relevance_score": 39.933,

        "properties": [

          {

            "id": "title",

            "name": "Title",

            "data": [

              {

                "html": "<em>100</em>-companies-that-matter.html"

              }

            ]

          }

        ],

        "order": {

          "num": 399330

        },

        "group": {

          "str": ""

        }

      },

Reguläre AusdrückePermanenter Link zu dieser Überschrift

ErklärungPermanenter Link zu dieser Überschrift

Mit der Mindbreeze Search API ist es auch möglich anstelle eines normalen Queries ein Regex abzusetzen. Matched dieses Regex so wird das Ergebnis returniert. Wichtig dabei ist das man den Backslash in JSON extra excapen muss. Das bedeutet, dass bei einem regex-Escape 2 Backslash anstelle von einen erforderlich sind (1 mal JSON und 1 mal regex Escape). In unserem Beispiel muss das Dokument im mes:key dem regex-Pattern (Beginn eines URLs) matchen damit es returniert wird. Dies funktioniert nur mit jenen Metadaten die regexmatchable oder aggregateable sind. Zu beachten ist hierbei, dass, Regex nur in bestimmten Metadaten gesucht werden kann und nicht ohne einem label.

CodePermanenter Link zu dieser Überschrift

{

  "query": {

"label":"mes:key"

"regex": "https:\\/\\/www\\.mindbreeze\\.com\\/de.*"

    

  }

  "count": 1,

  "properties": [{

    "name": "title",

    "formats": ["HTML"]

  },{

    "name": "content",

    "formats": ["HTML"]

  }]

  

}

ErgebnisPermanenter Link zu dieser Überschrift

"resultset": {

    "results": [

      {

        "id": "Web:wwwmindbreezecom:https://www.mindbreeze.com/de/mindbreeze-basic-training-oktober-2015.html:",

        "location": "aHR0cHM6Ly9pbnNwaXJlcHJvZC5pbnNwaXJlLm1pbmRicmVlemUuY29tOjIzMzMxOjY=",

        "rank_score": 0,

        "relevance_score": 0,

        "properties": [

          {

            "id": "title",

            "name": "Title",

            "data": [

              {

                "html": "Mindbreeze Basic Training / Schulung"

              }

            ]

          },

          {

            "id": "content",

            "name": "content",

            "data": [

              {

                "html": "Mindbreeze Basic Training / Schulung\nTrainingsdatum: 13.10.2015\nOrt: Mindbreeze Academy, Honauerstraße 4, 4020 Linz, Austria\nDauer: 1 Tag, 09:00 - 17:00\nPreis: EUR 600,-- (exkl. MWSt.) pro Person\nTeilnehmeranzahl: mindestens 5 Personen\nLevel: Einsteiger\nVorausgesetzte Kurse: keine\nSprache: Englisch ¹)\n¹) Falls sich ausschließlich deutschsprachige Teilnehmer anmelden, wird auch die Ausbildung auf Deutsch gehalten.\nKommen Sie zu uns und erfahren Sie direkt von den Mindbreeze-Experten alles üb..."

              }

            ]

          }

        ],

        "order": {

          "num": 0

        },

        "group": {

          "str": ""

        }

      }

ZeitangabenPermanenter Link zu dieser Überschrift

ErklärungPermanenter Link zu dieser Überschrift

Mit der Mindbreeze InSpire Search API ist es möglich Inhalte die sich in einem bestimmten Zeitraum bewegen als Ergebnisse zu returnieren. Als Einschränkung werden dafür timestamps (UNIX time) verwendet. In unseren Fall wollen wir alle Ergebnisse von 1.1.2016 bis 7.6.2017 um 10:26 UTC anzeigen. Neben einer Verundung der beiden Zeitstempel kann auch eine Veroderung verwendet werden.

CodePermanenter Link zu dieser Überschrift

{

  "query": {

      "label": "mes:date",

  "and": [{

    "num": 1451606400000,

    "cmp": "GE",

    "unit": "ms_since_1970"

  },{

    "num": 1496831176874,

    "cmp": "LE",

    "unit": "ms_since_1970"

  }]

    

  }

  "count": 1,

  "properties": [{

    "name": "title",

    "formats": ["HTML"]

  },{

    "name": "content",

    "formats": ["HTML"]

  }]

  

}

ErgebnisPermanenter Link zu dieser Überschrift

"resultset": {

    "results": [

      {

        "id": "Web:wwwmindbreezecom:https://www.mindbreeze.com/inspire-contact:",

        "location": "aHR0cHM6Ly9pbnNwaXJlcHJvZC5pbnNwaXJlLm1pbmRicmVlemUuY29tOjIzMzMxOjQ=",

        "rank_score": 0,

        "relevance_score": 0,

        "properties": [

          {

            "id": "title",

            "name": "Title",

            "data": [

              {

                "html": "Contact"

              }

            ]

          },

          {

            "id": "content",

            "name": "content",

            "data": [

              {

                "html": "Contact\nWe are delighted that you have chosen Mindbreeze InSpire.\nPlease name a contact person and suitable dates for the on-site support.\nFor other data sources, please add also the IP address or DNS name of the data sources. The ports that are required to these data sources have to be unlocked bidirectional between Mindbreeze Appliance and data sources."

              }

            ]

          }

Filter/FacetsPermanenter Link zu dieser Überschrift

ErklärungPermanenter Link zu dieser Überschrift

Mit der Mindbreeze Search API ist es möglich Parameter anzugeben, die einen Filter/Facet retournieren. In unserem Beispiel soll zusätzlich zu den Metadaten auch ein Filter/Facet für die Dateiendung/ das Metadatum extension zurückgegeben werden. Wichtige Informationen über die Filter sind Beispielsweise die Anzahl der Resultate die einen bestimmten Filterwert haben. Als Beispiel wurde nachstehend die Anzahl der .png-Dateien der Suche nach mindbreeze grün markiert.

CodePermanenter Link zu dieser Überschrift

{

  "query": {

    "unparsed": "mindbreeze"

  },

  "count": 1,

  "properties": [{

    "name": "title",

    "formats": ["HTML"]

  },{

    "name": "content",

    "formats": ["HTML"]

  }],

  "facets":[

{

"name":"extension"

"formats":[

  "HTML"

]

}

  ]

}

ErgebnisPermanenter Link zu dieser Überschrift

"facets": [

      {

        "name": "extension",

        "formats": [

          "HTML"

        ]

      }

    ],

    "properties": [

      {

        "name": "title",

        "formats": [

          "HTML"

        ]

      },

      {

        "name": "content",

        "formats": [

          "HTML"

        ]

      }

    ],

    "user_context": {}

  },

  "alternatives": [

    {

      "id": "user_query",

      "name": "user_query",

      "entries": [

        {

          "html": "mindbreeze",

          "count": 1,

          "query_expr": {

            "unparsed": "mindbreeze"

          }

        }

      ]

    }

  ],

  "name": "unnamed",

  "estimated_count": 4827,

  "facets": [

    {

      "id": "extension",

      "name": "File type",

      "entries": [

        {

          "html": "png",

          "count": 1437,

          "query_expr": {

            "label": "extension",

            "regex": "^\\Qpng\\E$",

            "description": "png",

            "id": "png",

            "value": {

              "str": "png"

            }

          },

          "value": {

            "str": "png"

          }

        },

        {

          "html": "html",

          "count": 863,

          "query_expr": {

            "label": "extension",

            "regex": "^\\Qhtml\\E$",

            "description": "html",

            "id": "html",

            "value": {

              "str": "html"

            }

          },

          "value": {

            "str": "html"

          }

        },

        {

          "html": "jpg",

          "count": 546,

          "query_expr": {

            "label": "extension",

            "regex": "^\\Qjpg\\E$",

            "description": "jpg",

            "id": "jpg",

            "value": {

              "str": "jpg"

            }

          },

          "value": {

            "str": "jpg"

          }

        },

        {

          "html": "gif",

          "count": 350,

          "query_expr": {

            "label": "extension",

            "regex": "^\\Qgif\\E$",

            "description": "gif",

            "id": "gif",

            "value": {

              "str": "gif"

            }

          },

          "value": {

            "str": "gif"

          }

        },

        {

          "html": "pdf",

          "count": 344,

          "query_expr": {

            "label": "extension",

            "regex": "^\\Qpdf\\E$",

            "description": "pdf",

            "id": "pdf",

            "value": {

              "str": "pdf"

            }

          },

          "value": {

            "str": "pdf"

          }

        },

        {

          "html": "docx",

          "count": 261,

          "query_expr": {

            "label": "extension",

            "regex": "^\\Qdocx\\E$",

            "description": "docx",

            "id": "docx",

            "value": {

              "str": "docx"

            }

          },

          "value": {

            "str": "docx"

          }

        },

        {

          "html": "xml",

          "count": 211,

          "query_expr": {

            "label": "extension",

            "regex": "^\\Qxml\\E$",

            "description": "xml",

            "id": "xml",

            "value": {

              "str": "xml"

            }

          },

          "value": {

            "str": "xml"

          }

        },

        {

          "html": "msg",

          "count": 195,

          "query_expr": {

            "label": "extension",

            "regex": "^\\Qmsg\\E$",

            "description": "msg",

            "id": "msg",

            "value": {

              "str": "msg"

            }

          },

          "value": {

            "str": "msg"

          }

        },

        {

          "html": "zip",

          "count": 113,

          "query_expr": {

            "label": "extension",

            "regex": "^\\Qzip\\E$",

            "description": "zip",

            "id": "zip",

            "value": {

              "str": "zip"

            }

          },

          "value": {

            "str": "zip"

          }

        },

        {

          "html": "doc",

          "count": 100,

          "query_expr": {

            "label": "extension",

            "regex": "^\\Qdoc\\E$",

            "description": "doc",

            "id": "doc",

            "value": {

              "str": "doc"

            }

          },

          "value": {

            "str": "doc"

          }

        },

        {

          "html": "jpeg",

          "count": 77,

          "query_expr": {

            "label": "extension",

            "regex": "^\\Qjpeg\\E$",

            "description": "jpeg",

            "id": "jpeg",

            "value": {

              "str": "jpeg"

            }

          },

          "value": {

            "str": "jpeg"

          }

        },

        {

          "html": "ppt",

          "count": 73,

          "query_expr": {

            "label": "extension",

            "regex": "^\\Qppt\\E$",

            "description": "ppt",

            "id": "ppt",

            "value": {

              "str": "ppt"

            }

          },

          "value": {

            "str": "ppt"

          }

        },

        {

          "html": "tif",

          "count": 62,

          "query_expr": {

            "label": "extension",

            "regex": "^\\Qtif\\E$",

            "description": "tif",

            "id": "tif",

            "value": {

              "str": "tif"

            }

          },

          "value": {

            "str": "tif"

          }

        },

        {

          "html": "txt",

          "count": 58,

          "query_expr": {

            "label": "extension",

            "regex": "^\\Qtxt\\E$",

            "description": "txt",

            "id": "txt",

            "value": {

              "str": "txt"

            }

          },

          "value": {

            "str": "txt"

          }

        },

        {

          "html": "pptx",

          "count": 39,

          "query_expr": {

            "label": "extension",

            "regex": "^\\Qpptx\\E$",

            "description": "pptx",

            "id": "pptx",

            "value": {

              "str": "pptx"

            }

          },

          "value": {

            "str": "pptx"

          }

        }

      ],

Filter im Request zu setztenPermanenter Link zu dieser Überschrift

Darüber hinaus ist es möglich Filter im Request zu setzten. Dies führt zu demselben Verhalten als würde man eine Filterwert im Client selektieren um die Suche einzuschränken. Dazu muss wie im nachstehenden Beispiel die Query Expression des ausgewählten Filterwertes im Request gesetzt werden. Zu beachten ist hierbei, dass man auch mehrere Query Expressions in Form einer Liste als Request verwenden kann um mehrere Filterwerte gleichzeitig auszuwählen.

CodePermanenter Link zu dieser Überschrift

{

"user":{

  "query": {

    "unparsed": "mindbreeze"

  },"constraints": [

    {

     "label": "extension",

     "filter_base": [

   { "label": "extension",

        "regex": "^\\Qpng\\E$",

   "description": "png",

   "id": "png",

   "value": {"str": "png"}

},{

          "label": "extension",

        "regex": "^\\Qpdf\\E$",

   "description": "pdf",

   "id": "pdf",

   "value": {"str": "pdf"}

}

     ]

    },{

     "label": "mes:date",

     "filter_base": [

   { "and": [

    {num: 1514764800000, cmp: "GE", unit: "ms_since_1970"},

    {num: 1546300799999, cmp: "LE", unit: "ms_since_1970"}

   ],

   "label": "mes:date",

   "description": "2018",

   "id": "2018",

   "value": {

     num: 1514764800000,

     unit: "ms_since_1970"

   }

}

     ]

    }

   ]

  },

  "count": 1,

  "properties": [{

    "name": "title",

    "formats": ["HTML"]

  },{

    "name": "content",

    "formats": ["HTML"]

  }],

  "facets":[

{

"name":"extension"

"formats":[

  "HTML"

]

}

  ]

}

ErgebnisPermanenter Link zu dieser Überschrift

  "resultset": {

    "results": [

      {

        "id": "SAP KMC:Default:/irj/go/km/docs/documents/MarketingPRTestdaten/Vorschlag%20Fotos%20zur%20Verwendung%20FFPR%20_%20Mobile%20Suche/Mindbreeze-Suche%20am%20iPad%20%c2%a9%20Mindbreeze.png:",

        "location": "aHR0cHM6Ly9pbnNwaXJlcHJvZC5pbnNwaXJlLm1pbmRicmVlemUuY29tOjIzMzM5OjIxNzc=",

        "rank_score": 35.896,

        "relevance_score": 35.896,

        "properties": [

          {

            "id": "title",

            "name": "Title",

            "data": [

              {

                "html": "<em>Mindbreeze</em>-Suche am iPad © <em>Mindbreeze</em>.png"

              }

            ]

          }

        ],

        "order": {

          "num": 358960

        },

        "group": {

          "str": ""

        }

      }

Deaktivieren/Aktivieren des Zählens von gefilterten WertenPermanenter Link zu dieser Überschrift

Mit der Option count_filtered_facet_values in der Suchanfrage, kann gesteuert werden, ob gefilterte Werte mitgezählt werden sollen. Wird die Option nicht angegeben, ist das Standardverhalten so, dass die Konfiguration von Mindbreeze InSpire herangezogen wird. Ist es nicht anders konfiguriert, werden die gefilterten Werte mitgezählt (true), Die Option in der Anfrage überschreibt die Konfiguration unbedingt.

CodePermanenter Link zu dieser Überschrift

{

"user":{

  "query": {

    "unparsed": "mindbreeze"

  },"constraints": [{ "label": "extension","filter_base": [

  {"label": "extension", "regex": "^\\Qpng\\E$", "description": "png", "id": "png", "value": {"str": "png"}}]}]

  },

  "count": 1,

  "count_filtered_facet_values": false,

  "properties": [{

    "name": "title",

    "formats": ["HTML"]

  },{

    "name": "content",

    "formats": ["HTML"]

  }],

  "facets":[

{

"name":"extension"

"formats":[

  "HTML"

]

}

  ]

}

Performance und weitere Parameter bei AbfragenPermanenter Link zu dieser Überschrift

SprachePermanenter Link zu dieser Überschrift

Optional kann auch die Sprache angegeben werden. Permanenter Link zu dieser Überschrift

Dies bietet die Möglichkeit Metadaten labels bereits übersetzt zu erhalten:

{

  "query": {

    "unparsed": "mindbreeze"

  },

  "count": 1,

  "properties": [{

    "name": "title",

    "formats": ["VALUE","HTML"]

  },{

    "name": "content",

    "formats": ["VALUE","HTML"]

  }],

  "user_context":{

"locale":"de"

  }

}

ErgebnisPermanenter Link zu dieser Überschrift

"resultset": {

    "results": [

      {

        "id": "Web:wwwmindbreezecom:https://www.mindbreeze.com/de/inspire-training-feb2017:",

        "location": "aHR0cHM6Ly9pbnNwaXJlcHJvZC5pbnNwaXJlLm1pbmRicmVlemUuY29tOjIzMzMxOjM1MTA=",

        "rank_score": 42.5445,

        "relevance_score": 42.5445,

        "properties": [

          {

            "id": "title",

            "name": "Titel",

            "data": [

              {

                "html": "<em>Mindbreeze</em> InSpire Training",

                "value": {

                  "str": "Mindbreeze InSpire Training"

                }

              }

            ]

          },

          {

            "id": "content",

            "name": "content",

            "data": [

              {

                "html": "<em>Mindbreeze</em> InSpire Training\nDauer...Februar 2017\nOrt: <em>Mindbreeze</em> Academy, Honauerstraße 2...direkt von den <em>Mindbreeze</em>-Experten alles über...wichtigsten Neuerungen von <em>Mindbreeze</em> InSpire. Wir freuen...der Welt von <em>Mindbreeze</em> vertraut gemacht. Die",

                "value": {

                  "str": ""

                }

              }

            ]

          }

        ],

        "order": {

          "num": 425445

        },

        "group": {

          "str": ""

        }

      }

Task-IDPermanenter Link zu dieser Überschrift

Die Task-ID kann gesetzt werden, wenn die Suchen in derselben Session stattfinden. Dadurch werden aktuell laufende Suchen des aktuellen Benutzers gestoppt und nur die letzte ausgeführt. Wird also mehr als 1 Suche gleichzeitig abgesetzt, die die selbe Task-ID verwenden werden alle bis auf die letzte abgesetzte abgebrochen und die letzte abgesetzte durchgeführt.

Dies kann zur Optimierung der Performance bei Multi-User Umgebungen verwendet werden. Best Practice: Jede Sitzung einer Suchanwendung, jedes offene Suchfenster sollte eine eindeutige Task-ID haben.

{

  "query": {

    "unparsed": "mindbreeze"

  },

  "count": 1,

  "properties": [{

    "name": "title",

    "formats": ["VALUE","HTML"]

  },{

    "name": "content",

    "formats": ["VALUE","HTML"]

  }],

  "task_id":"<guid>"

  

}

Ausblenden der verfügbaren Properties und Facets bei den ResultatenPermanenter Link zu dieser Überschrift

Mit der option „exclude_available_properties_and_facets“ ist es möglich, dass nur jene Properties/Facets bei der Response zurückgegeben werden die auch als Properties mit Wert beim Call angegeben werden. In unserem Beispiel werden also alle anderen außer Titel und Inhalte nicht mehr exportiert, wenn diese Option aktiv ist. Wird die Option nicht gesetzt ist sie automatisch false.

Beispiel:

{

  "query": {

    "unparsed": "mindbreeze"

  },

  "count": 1,

  "properties": [{

    "name": "title",

    "formats": ["VALUE","HTML"]

  },{

    "name": "content",

    "formats": ["VALUE","HTML"]

  }],

  "exclude_available_properties_and_facets":true

  

}

"exclude_available_properties_and_facets":falsePermanenter Link zu dieser Überschrift

"resultset": {

    "results": [

      {

        "id": "Web:wwwmindbreezecom:https://www.mindbreeze.com/de/inspire-training-feb2017:",

        "location": "aHR0cHM6Ly9pbnNwaXJlcHJvZC5pbnNwaXJlLm1pbmRicmVlemUuY29tOjIzMzMxOjM1MTA=",

        "rank_score": 42.5445,

        "relevance_score": 42.5445,

        "properties": [

          {

            "id": "title",

            "name": "Title",

            "data": [

              {

                "html": "<em>Mindbreeze</em> InSpire Training",

                "value": {

                  "str": "Mindbreeze InSpire Training"

                }

              }

            ]

          },

          {

            "id": "content",

            "name": "content",

            "data": [

              {

                "html": "<em>Mindbreeze</em> InSpire Training\nDauer...Februar 2017\nOrt: <em>Mindbreeze</em> Academy, Honauerstraße 2...direkt von den <em>Mindbreeze</em>-Experten alles über...wichtigsten Neuerungen von <em>Mindbreeze</em> InSpire. Wir freuen...der Welt von <em>Mindbreeze</em> vertraut gemacht. Die",

                "value": {

                  "str": ""

                }

              }

            ]

          }

        ],

        "order": {

          "num": 425445

        },

        "group": {

          "str": ""

        }

      }

    ],

    "prev_avail": false,

    "next_avail": true,

    "order_direction": "DESCENDING",

    "per_service_dataset": [

      {

        "id": "https://demo.mindbreeze.com/public/",

        "termination_cause": "COUNT_LIMIT",

        "paging_state": {

          "id": "unnamed",

          "state": "\n\u00010\u0010\u0000\u0018\u0001",

          "digest": "dBCFawAIMiGsGEflr6JYhw=="

        }

      }

    ]

  },

  "groupable": [

    {

      "name": "Author",

      "localized_name": "Author"

    },

    {

      "name": "Category",

      "localized_name": "Category"

    },

    {

      "name": "publisher",

      "localized_name": "Company"

    },

    {

      "name": "createdby",

      "localized_name": "Created"

    },

    {

      "name": "extension",

      "localized_name": "Extension"

    },

    {

      "name": "language",

      "localized_name": "Language"

    },

    {

      "name": "modifiedby",

      "localized_name": "Modified"

    },

    {

      "name": "ownername",

      "localized_name": "Owner"

    },

    {

      "name": "path",

      "localized_name": "Path"

    },

    {

      "name": "Presentation-Format",

      "localized_name": "Presentation format"

    },

    {

      "name": "parent",

      "localized_name": "Room"

    },

    {

      "name": "Content-Status",

      "localized_name": "Status"

    },

    {

      "name": "breadcrumbs",

      "localized_name": "Tag"

    }

  ],

  "show_query_spelling_alternatives": false,

  "order_direction_available": true

}

"exclude_available_properties_and_facets":truePermanenter Link zu dieser Überschrift

"resultset": {

    "results": [

      {

        "id": "Web:wwwmindbreezecom:https://www.mindbreeze.com/de/inspire-training-feb2017:",

        "location": "aHR0cHM6Ly9pbnNwaXJlcHJvZC5pbnNwaXJlLm1pbmRicmVlemUuY29tOjIzMzMxOjM1MTA=",

        "rank_score": 42.5445,

        "relevance_score": 42.5445,

        "properties": [

          {

            "id": "title",

            "name": "Title",

            "data": [

              {

                "html": "<em>Mindbreeze</em> InSpire Training",

                "value": {

                  "str": "Mindbreeze InSpire Training"

                }

              }

            ]

          },

          {

            "id": "content",

            "name": "content",

            "data": [

              {

                "html": "<em>Mindbreeze</em> InSpire Training\nDauer...Februar 2017\nOrt: <em>Mindbreeze</em> Academy, Honauerstraße 2...direkt von den <em>Mindbreeze</em>-Experten alles über...wichtigsten Neuerungen von <em>Mindbreeze</em> InSpire. Wir freuen...der Welt von <em>Mindbreeze</em> vertraut gemacht. Die",

                "value": {

                  "str": ""

                }

              }

            ]

          }

        ],

        "order": {

          "num": 425445

        },

        "group": {

          "str": ""

        }

      }

    ],

    "prev_avail": false,

    "next_avail": true,

    "order_direction": "DESCENDING",

    "per_service_dataset": [

      {

        "id": "https://demo.mindbreeze.com/public/",

        "termination_cause": "COUNT_LIMIT",

        "paging_state": {

          "id": "unnamed",

          "state": "\n\u00010\u0010\u0000\u0018\u0001",

          "digest": "dBCFawAIMiGsGEflr6JYhw=="

        }

      }

    ]

  },

  "show_query_spelling_alternatives": false,

  "order_direction_available": true

}

SortierenPermanenter Link zu dieser Überschrift

ErklärungPermanenter Link zu dieser Überschrift

Die API ermöglicht darüber hinaus dass Ergebnisse nach einem bestimmten Metadatum sortiert zurückgegeben werden können. Dabei enthält orderby das Metadatum, nach dem sortiert wird. order_direction (ASCENDING, DESCENDING) legt die Reihenfolge fest. In unserem Beispiel wird nach „mindbreeze“ gesucht und die Ergebnisse sortiert nach mes:date (Standartdatum) (aufssteigend) sortiert. Von den Resultaten werden dabei nur der Titel und der Inhalt der Resultate als HTML returniert. Es werden nur die ersten 5 Resultate zurückgegeben. Die Vorbelegungen sind mes:relevance und DESCENDING. Die Suchantwort enthält eine Liste aller für die .

CodePermanenter Link zu dieser Überschrift

{                              

  "query": {                    

    "unparsed": "mindbreeze"    

  },                            

  "count": 5,                  

  "orderby": "mes:date",        

  "order_direction": "ASCENDING",

  "properties": [{

    "name": "title",

    "formats": ["HTML"]

  },{

    "name": "content",

    "formats": ["HTML"]

  }]

}            

ErgebnisPermanenter Link zu dieser Überschrift

"resultset": {

        "results": [

            {

                "id": "Atlassian Confluence:confluence:https://demo.mindbreeze.com/confluence/download/attachments/1343604/Monitor_Working_Wikily_2%200.pdf?api=v2:",

                "location": "aHR0cHM6Ly9pbnNwaXJlcHJvZC5pbnNwaXJlLm1pbmRicmVlemUuY29tOjIzMzM4Ojgz",

                "rank_score": 340231.0284,

                "relevance_score": 0,

                "properties": [

                    {

                        "id": "title",

                        "name": "Title",

                        "data": [

                            {

                                "html": "Monitor_Working_Wikily_2 0.pdf"

                            }

                        ]

                    },

                    {

                        "id": "content",

                        "name": "content",

                        "data": [

                            {

                                "html": "Social Change with a Network Mindset\r\nWORKING\r\nWIKILY2.0 Created by the\r\nMonitor Institute\r\nwww.monitorinsitute.com\r\nThis work is licensed under the Creative Commons Attribution Share Alike 3.0 Unported License.\r\nIt’s probably safe to say by now that we all know about web 2.0. We’ve read a blog. \r\nWe’ve looked something up on Wikipedia. We’ve created a Facebook profile and started collecting friends. We may have even “tweeted.” The tools are now accessible to the \r\npoint where, f..."

                            }

                        ]

                    }

                ],

                "order": {

                    "num": 3402310284

                },

                "group": {

                    "str": ""

                }

            },

            {

                "id": "Atlassian Confluence:confluence:https://demo.mindbreeze.com/confluence/download/attachments/1343604/Wiki-based%20Portfolio%20Mgmt_DMR_Nr3_Tempich_2009_D.pdf?api=v2:",

                "location": "aHR0cHM6Ly9pbnNwaXJlcHJvZC5pbnNwaXJlLm1pbmRicmVlemUuY29tOjIzMzM4OjE4NA==",

                "rank_score": 340231.0491,

                "relevance_score": 0,

                "properties": [

                    {

                        "id": "title",

                        "name": "Title",

                        "data": [

                            {

                                "html": "Wiki-based Portfolio Mgmt_DMR_Nr3_Tempich_2009_D.pdf"

                            }

                        ]

                    },

                    {

                        "id": "content",

                        "name": "content",

                        "data": [

                            {

                                "html": "Strategy\r\n29 Detecon Management Report • 3 / 2009\r\n ie Steuerung von komplexen Produkt- oder Geschäftsfeldportfolios mit Hilfe des Portfolio-Management hat sich in den \r\nletzten Jahren in vielen Großkonzernen etabliert. Auch wir nutzen die Portfolio-Methode in der Analysephase vieler unserer \r\nProjekte, um schnell Transparenz über die Wettbewerbssituation, \r\ntechnische Anforderungen, Prozesse und andere Analyseobjekte \r\nzu erlangen. Bei der Anwendung von Portfolio-Management \r\nkommt es ..."

                            }

                        ]

                    }

                ],

                "order": {

                    "num": 3402310491

                },

                "group": {

                    "str": ""

                }

            },

GruppierenPermanenter Link zu dieser Überschrift

ErklärungPermanenter Link zu dieser Überschrift

In diesem Beispiel wird nach „mindbreeze“ gesucht. Dabei wird nach dem Metadatum Extension gruppiert. Dies kann mithilfe des groupby.property festgelegt werden. Von den Resultaten werden dabei nur der Titel und der Inhalt der Resultate als HTML returniert. Es werden nur die ersten 5 Resultate zurückgegeben. Die Resultate enthalten in group den Gruppierungswert. Die Ergebnisse werden nach mes:date sortiert.

CodePermanenter Link zu dieser Überschrift

{                              

  "query": {                    

    "unparsed": "mindbreeze"    

  },                            

  "count": 5,                  

  "orderby": "mes:date",        

  "groupby": {              

    "property": "extension"

  },                        

  "properties": [{

    "name": "title",

    "formats": ["HTML"]

  },{

    "name": "content",

    "formats": ["HTML"]

  }]

}            

ErgebnisPermanenter Link zu dieser Überschrift

  "resultset": {

        "results": [

            {

                "id": "Web:wwwmindbreezecom:https://www.mindbreeze.com/enterprise-search-appliance:",

                "location": "aHR0cHM6Ly9pbnNwaXJlcHJvZC5pbnNwaXJlLm1pbmRicmVlemUuY29tOjIzMzMxOjQwNjE=",

                "rank_score": 362366.644,

                "relevance_score": 0,

                "properties": [

                    {

                        "id": "title",

                        "name": "Title",

                        "data": [

                            {

                                "html": "The Enterprise Search Appliance"

                            }

                        ]

                    },

                    {

                        "id": "content",

                        "name": "content",

                        "data": [

                            {

                                "html": "all their knowledge.\n<em>Mindbreeze</em> InSpire can help...Enterprise Search Appliance\n<em>Mindbreeze</em> analyzes both structured...the individual contents.\n<em>Mindbreeze</em> InSpire comes to...GSA configuration into <em>Mindbreeze</em> InSpire <em>Mindbreeze</em> InSpire supports all"

                            }

                        ]

                    }

                ],

                "order": {

                    "num": 3623666440

                },

                "group": {

                    "str": "html"

                }

            },

            {

                "id": "Web:wwwmindbreezecom:https://www.mindbreeze.com/de/enterprise-search-appliance:",

                "location": "aHR0cHM6Ly9pbnNwaXJlcHJvZC5pbnNwaXJlLm1pbmRicmVlemUuY29tOjIzMzMxOjQwNjI=",

                "rank_score": 362366.6438,

                "relevance_score": 0,

                "properties": [

                    {

                        "id": "title",

                        "name": "Title",

                        "data": [

                            {

                                "html": "Die Enterprise Search Appliance"

                            }

                        ]

                    },

                    {

                        "id": "content",

                        "name": "content",

                        "data": [

                            {

                                "html": "agieren zu können.\n<em>Mindbreeze</em> InSpire hilft Ihnen...Enterprise Search Appliance\n<em>Mindbreeze</em> InSpire kommt zu...Hardware samt Suchsoftware. \n<em>Mindbreeze</em> analysiert strukturierte und...GSA-Konfiguration in <em>Mindbreeze</em> InSpire <em>Mindbreeze</em> InSpire unterstützt alle"

                            }

                        ]

                    }

                ],

                "order": {

                    "num": 3623666438

                },

                "group": {

                    "str": "html"

                }

            },

ZeitzonePermanenter Link zu dieser Überschrift

ErklärungPermanenter Link zu dieser Überschrift

Es ist auch möglich Ergebnisse unter Berücksichtigung der Zeitzone abzufragen. Dabei geben user_context. utc_time_zone_differential_in_seconds die Sekunden zwischen UTC und der aktuellen Zeitzone an. Damit werden die angezeigten Daten sowie die Datumsfilter an die Zeitzone angepasst. Für mitteleuropäische Sommerzeit gibt man 7200 an. In unserem Beispiel wird nach „mindbreeze“ gesucht und es wird die mitteleuropäische Sommerzeit angewandt. Von den Resultaten werden dabei nur das Datum und der Inhalt der Resultate als HTML returniert. Es werden nur die ersten 5 Resultate zurückgegeben. Die Ergebnisse werden nach mes:date sortiert.

CodePermanenter Link zu dieser Überschrift

{                              

  "query": {                    

    "unparsed": "mindbreeze"    

  },                            

  "count": 5,                  

  "orderby": "mes:date",        

    "user_context": {                              

     "utc_time_zone_differential_in_seconds": 7200

  },                                            

        

  "properties": [{

    "name": "mes:date",

    "formats": ["HTML"]

  },{

    "name": "content",

    "formats": ["HTML"]

  }]

}            

ErgebnisPermanenter Link zu dieser Überschrift

Ohne ZeitzonePermanenter Link zu dieser Überschrift

"resultset": {

        "results": [

            {

                "id": "Web:wwwmindbreezecom:https://www.mindbreeze.com/enterprise-search-appliance:",

                "location": "aHR0cHM6Ly9pbnNwaXJlcHJvZC5pbnNwaXJlLm1pbmRicmVlemUuY29tOjIzMzMxOjQwNjE=",

                "rank_score": 362366.644,

                "relevance_score": 0,

                "properties": [

                    {

                        "id": "mes:date",

                        "name": "Date",

                        "data": [

                            {

                                "html": "10/11/16 10:46 AM"

                            }

                        ]

                    },

                    {

                        "id": "content",

                        "name": "content",

                        "data": [

                            {

                                "html": "all their knowledge.\n<em>Mindbreeze</em> InSpire can help...Enterprise Search Appliance\n<em>Mindbreeze</em> analyzes both structured...the individual contents.\n<em>Mindbreeze</em> InSpire comes to...GSA configuration into <em>Mindbreeze</em> InSpire <em>Mindbreeze</em> InSpire supports all"

                            }

                        ]

                    }

                ],

                "order": {

                    "num": 3623666440

                },

                "group": {

                    "str": ""

                }

            },

Mit ZeitzonePermanenter Link zu dieser Überschrift

  "resultset": {

        "results": [

            {

                "id": "Web:wwwmindbreezecom:https://www.mindbreeze.com/enterprise-search-appliance:",

                "location": "aHR0cHM6Ly9pbnNwaXJlcHJvZC5pbnNwaXJlLm1pbmRicmVlemUuY29tOjIzMzMxOjQwNjE=",

                "rank_score": 362366.644,

                "relevance_score": 0,

                "properties": [

                    {

                        "id": "mes:date",

                        "name": "Date",

                        "data": [

                            {

                                "html": "10/11/16 12:46 PM"

                            }

                        ]

                    },

                    {

                        "id": "content",

                        "name": "content",

                        "data": [

                            {

                                "html": "all their knowledge.\n<em>Mindbreeze</em> InSpire can help...Enterprise Search Appliance\n<em>Mindbreeze</em> analyzes both structured...the individual contents.\n<em>Mindbreeze</em> InSpire comes to...GSA configuration into <em>Mindbreeze</em> InSpire <em>Mindbreeze</em> InSpire supports all"

                            }

                        ]

                    }

                ],

                "order": {

                    "num": 3623666440

                },

                "group": {

                    "str": ""

                }

            },

TimeoutPermanenter Link zu dieser Überschrift

ErklärungPermanenter Link zu dieser Überschrift

Bei der Suche kann darüber hinaus ein Timeout festgelegt werden. Wird dieses überschritten bricht die Suche ab. timeout_in_seconds legt dabei die Maximaldauer der Suche fest. Die Ergebnisse werden nach mes:date sortiert.

CodePermanenter Link zu dieser Überschrift

{                              

  "query": {                    

    "unparsed": "mindbreeze"    

  },                            

  "count": 5,                  

  "orderby": "mes:date",        

  "timeout_in_seconds": 1,                                            

        

  "properties": [{

    "name": "title",

    "formats": ["HTML"]

  },{

    "name": "content",

    "formats": ["HTML"]

  }]

}            

Länge des Auszuges eines Inhaltes festlegenPermanenter Link zu dieser Überschrift

ErklärungPermanenter Link zu dieser Überschrift

Mit dem Parameter content_sample_length legt man die maximale Länge des Beispieltextes bei Resultaten in Zeichen fest. Wird dieses Überschritten wird der Text am Limit abgeschnitten. Der Standartwert ist auf 100 Zeichen gesetzt.

CodePermanenter Link zu dieser Überschrift

{                              

  "query": {                    

    "unparsed": "mindbreeze"    

  },                            

  "count": 5,                  

  "orderby": "mes:date",        

  "content_sample_length": 2,                                    

        

  "properties": [{

    "name": "title",

    "formats": ["HTML"]

  },{

    "name": "content",

    "formats": ["HTML"]

  }]

}            

Ohne LimitPermanenter Link zu dieser Überschrift

   "resultset": {

        "results": [

            {

                "id": "Web:wwwmindbreezecom:https://www.mindbreeze.com/enterprise-search-appliance:",

                "location": "aHR0cHM6Ly9pbnNwaXJlcHJvZC5pbnNwaXJlLm1pbmRicmVlemUuY29tOjIzMzMxOjQwNjE=",

                "rank_score": 362366.644,

                "relevance_score": 0,

                "properties": [

                    {

                        "id": "title",

                        "name": "Title",

                        "data": [

                            {

                                "html": "The Enterprise Search Appliance"

                            }

                        ]

                    },

                    {

                        "id": "content",

                        "name": "content",

                        "data": [

                            {

                                "html": "all their knowledge.\n<em>Mindbreeze</em> InSpire can help...Enterprise Search Appliance\n<em>Mindbreeze</em> analyzes both structured...the individual contents.\n<em>Mindbreeze</em> InSpire comes to...GSA configuration into <em>Mindbreeze</em> InSpire <em>Mindbreeze</em> InSpire supports all"

                            }

                        ]

                    }

                ],

                "order": {

                    "num": 3623666440

                },

                "group": {

                    "str": ""

                }

            },

Relevanz FaktorenPermanenter Link zu dieser Überschrift

Erklärung:Permanenter Link zu dieser Überschrift

Für die Details zum Thema Relevanz gibt es ein weiterführendes Whitepaper. In diesem Abschnitt wird nur auf die Struktur eingegangen.

Mit der Eigenschaft relevance_factors können die einzelnen Relevanzfaktoren, wie z.B. die Aktualität des Treffers, die Nähe der Treffer zueinander im Dokument, etc. eingestellt werden. Von allen Faktorengewichten wird eine Gesamtmenge ermittelt und die einzelnen Paramatern sind dann relativ gewichtet.

Recency

Aktualität

term_frequency

Häufigkeit der Treffer im Dokument

doc_frequency

Normierte Häufigkeit relativ zur Dokumentgröße

term_proximity

Nähe der Begriffe zu einander

zone_boost_exponent

Gewichtung der Zonen (Metadaten)

term_boost_exponent

Gewichtung von Term Boostings

doc_boost_exponent

Gewichtung von Dokument Boostings

  1. In unserem Beispiel wird nach „mindbreeze“ gesucht und die ersten 5 Ergebnisse zurückgegeben. Darüber hinaus wird das definierte boosting für die Abfrage angewendet. Von den Resultaten werden dabei nur der Titel und der Inhalt der Resultate als HTML returniert. Es werden nur die ersten 5 Resultate zurückgegeben.

Code:Permanenter Link zu dieser Überschrift

{                              

  "query": {                    

    "unparsed": "mindbreeze"    

  },                            

  "count": 5,                  

"relevance_factors": {              

    "recency": 15,                    

    "term_frequency": 5,              

    "doc_frequency": 0,              

    "term_proximity": 35,            

    "term_inverse_zone_frequency": 45,

    "zone_boost_exponent": 50,        

    "term_boost_exponent": 50,        

    "doc_boost_exponent": 100        

  },                                  

  "boostings": [{                    

    "id": "url",                      

    "factor": 2                      

  }],                                

  "term_boost_factor": {              

    "term_boost_factor": 5,          

    "ngram_boost_factor": 10,        

    "congruence_boost_factor": 15,    

    "distance_boost_reduction": 20    

  }                                  

,                                  

        

  "properties": [{

    "name": "title",

    "formats": ["HTML"]

  },{

    "name": "content",

    "formats": ["HTML"]

  }]

}            

Ergebnis:Permanenter Link zu dieser Überschrift

Ohne BoostingPermanenter Link zu dieser Überschrift

"resultset": {

        "results": [

            {

                "id": "Web:wwwmindbreezecom:https://www.mindbreeze.com/de/inspire-training-feb2017:",

                "location": "aHR0cHM6Ly9pbnNwaXJlcHJvZC5pbnNwaXJlLm1pbmRicmVlemUuY29tOjIzMzMxOjM1MTA=",

                "rank_score": 42.5325,

                "relevance_score": 42.5325,

                "properties": [

                    {

                        "id": "title",

                        "name": "Title",

                        "data": [

                            {

                                "html": "<em>Mindbreeze</em> InSpire Training"

                            }

                        ]

                    },

                    {

                        "id": "content",

                        "name": "content",

                        "data": [

                            {

                                "html": "<em>Mindbreeze</em> InSpire Training\nDauer...Februar 2017\nOrt: <em>Mindbreeze</em> Academy, Honauerstraße 2...direkt von den <em>Mindbreeze</em>-Experten alles über...wichtigsten Neuerungen von <em>Mindbreeze</em> InSpire. Wir freuen...der Welt von <em>Mindbreeze</em> vertraut gemacht. Die"

                            }

                        ]

                    }

                ],

                "order": {

                    "num": 425325

                },

                "group": {

                    "str": ""

                }

            },

            {

                "id": "Web:wwwmindbreezecom:https://www.mindbreeze.com/de/inspire-training-nov2017:",

                "location": "aHR0cHM6Ly9pbnNwaXJlcHJvZC5pbnNwaXJlLm1pbmRicmVlemUuY29tOjIzMzMxOjM1MTY=",

                "rank_score": 42.5325,

                "relevance_score": 42.5325,

                "properties": [

                    {

                        "id": "title",

                        "name": "Title",

                        "data": [

                            {

                                "html": "<em>Mindbreeze</em> InSpire Training"

                            }

                        ]

                    },

                    {

                        "id": "content",

                        "name": "content",

                        "data": [

                            {

                                "html": "<em>Mindbreeze</em> InSpire Training\nDauer...November 2017\nOrt: <em>Mindbreeze</em> Academy, Honauerstraße 2...direkt von den <em>Mindbreeze</em>-Experten alles über...wichtigsten Neuerungen von <em>Mindbreeze</em> InSpire. Wir freuen...der Welt von <em>Mindbreeze</em> vertraut gemacht. Die"

                            }

                        ]

                    }

                ],

                "order": {

                    "num": 425325

                },

                "group": {

                    "str": ""

                }

            },

            {

                "id": "Web:wwwmindbreezecom:https://www.mindbreeze.com/de/inspire-training-nov2016:",

                "location": "aHR0cHM6Ly9pbnNwaXJlcHJvZC5pbnNwaXJlLm1pbmRicmVlemUuY29tOjIzMzMxOjM1MTg=",

                "rank_score": 42.5325,

                "relevance_score": 42.5325,

                "properties": [

                    {

                        "id": "title",

                        "name": "Title",

                        "data": [

                            {

                                "html": "<em>Mindbreeze</em> InSpire Training"

                            }

                        ]

                    },

                    {

                        "id": "content",

                        "name": "content",

                        "data": [

                            {

                                "html": "<em>Mindbreeze</em> InSpire Training\nDauer...November 2016\nOrt: <em>Mindbreeze</em> Academy, Honauerstraße 2...direkt von den <em>Mindbreeze</em>-Experten alles über...wichtigsten Neuerungen von <em>Mindbreeze</em> InSpire. Wir freuen...der Welt von <em>Mindbreeze</em> vertraut gemacht. Die"

                            }

                        ]

                    }

                ],

                "order": {

                    "num": 425325

                },

                "group": {

                    "str": ""

                }

            },

Mit BoostingPermanenter Link zu dieser Überschrift

  "resultset": {

        "results": [

            {

                "id": "Web:wwwmindbreezecom:https://www.mindbreeze.com/de/developer/basic-indexing:",

                "location": "aHR0cHM6Ly9pbnNwaXJlcHJvZC5pbnNwaXJlLm1pbmRicmVlemUuY29tOjIzMzMxOjM5ODg=",

                "rank_score": 44.989,

                "relevance_score": 44.989,

                "properties": [

                    {

                        "id": "title",

                        "name": "Title",

                        "data": [

                            {

                                "html": "Basic Indexing"

                            }

                        ]

                    },

                    {

                        "id": "content",

                        "name": "content",

                        "data": [

                            {

                                "html": "von Objekten an <em>Mindbreeze</em>. Sie lernen die...müssen.\nObjekte an <em>Mindbreeze</em> senden Ein Objekt...Facetten \nObjekte an <em>Mindbreeze</em> senden\nUm Objekte...Ihrer Datenquelle an <em>Mindbreeze</em> schicken können. Es...kümmert sich darum?\n<em>Mindbreeze</em> verwendet Crawler, um"

                            }

                        ]

                    }

                ],

                "order": {

                    "num": 449890

                },

                "group": {

                    "str": ""

                }

            },

            {

                "id": "Web:wwwmindbreezecom:https://www.mindbreeze.com/developer/basic-indexing:",

                "location": "aHR0cHM6Ly9pbnNwaXJlcHJvZC5pbnNwaXJlLm1pbmRicmVlemUuY29tOjIzMzMxOjM5OTI=",

                "rank_score": 44.9465,

                "relevance_score": 44.9465,

                "properties": [

                    {

                        "id": "title",

                        "name": "Title",

                        "data": [

                            {

                                "html": "Basic Indexing"

                            }

                        ]

                    },

                    {

                        "id": "content",

                        "name": "content",

                        "data": [

                            {

                                "html": "data source to <em>Mindbreeze</em>. You will learn...Send objects to <em>Mindbreeze</em> Send an object Send...Send objects to <em>Mindbreeze</em>\nIn order to be...data source to <em>Mindbreeze</em>. It’s very easy...care of it?\n<em>Mindbreeze</em> uses crawlers to"

                            }

                        ]

                    }

                ],

                "order": {

                    "num": 449465

                },

                "group": {

                    "str": ""

                }

            },

            {

                "id": "Web:wwwmindbreezecom:https://www.mindbreeze.com/de/inspire-training-feb2017:",

                "location": "aHR0cHM6Ly9pbnNwaXJlcHJvZC5pbnNwaXJlLm1pbmRicmVlemUuY29tOjIzMzMxOjM1MTA=",

                "rank_score": 43.5325,

                "relevance_score": 43.5325,

                "properties": [

                    {

                        "id": "title",

                        "name": "Title",

                        "data": [

                            {

                                "html": "<em>Mindbreeze</em> InSpire Training"

                            }

                        ]

                    },

                    {

                        "id": "content",

                        "name": "content",

                        "data": [

                            {

                                "html": "<em>Mindbreeze</em> InSpire Training\nDauer...Februar 2017\nOrt: <em>Mindbreeze</em> Academy, Honauerstraße 2...direkt von den <em>Mindbreeze</em>-Experten alles über...wichtigsten Neuerungen von <em>Mindbreeze</em> InSpire. Wir freuen...der Welt von <em>Mindbreeze</em> vertraut gemacht. Die"

                            }

                        ]

                    }

                ],

                "order": {

                    "num": 435325

                },

                "group": {

                    "str": ""

                }

            },