Geodi Query API - Doküman Arama

Standart Query Api

Tüm özelliklerini kullanılabildiği, geliştirilmekte olan nesnelerin döndüğü servistir. Geodi Token Oluşturma ile alınacak AdvancedQuery yetkisi vermiş Token gereklidir. Eğer son kullanıcı arayüzü hazırlıyorsanız Template ile arama sonucu gösterimi dokümanı daha faydalı olacaktır.

Query
Açıklama

Arama sonucuna uyan dokümanların listesini döner. Kullanıcıların GEODI Workspace içindeki dokümanlar içinden arama yapmalarına olanak verir.

Güncel tüm istek ve sonuçlar için GeodiJSONService adresinden yararlanabilirsiniz.

İstek

[GEODIURL]/GeodiJSONService?op=getDocuments&wsName=[WSNAME]&query=[StrorageManagerQueryOptions_JSON]&UserSession=[TOKEN]

  • wsName(string): İçinde arama yapılacak workspace adı.
  • query(JSON): Nesne JSON tanımı içerisindeki SearchString property tüm aramalar için yeterli olacaktır. Örnek { SearchString: "query" }
  • SummaryCount(int - Opsiyonel): Değeri 0'dan büyük ise belirtilen sayıda özet dönülür.  query.GetSummaryType parametreleri ile özet boyutu, bölgesi ayarlanabilir. 
  • RunUpdateClientData(bool - Opsitonel): FacePro,TextPro gibi araçlar tarafındna sağlanan ek bilgileri almakta kullanılır.


HttpMethodGET,POST
Beklenen Hatalar

401 Unauthorized access / Access denied

403 Forbidden

511 Network Authentication Required

501 Server Error

Dönecek SonuçGüncel sonuç nesnesine buraya tıklayarak ulaşabilirsiniz.
Örnek Uygulamalar


Basit

Basit sorgulama servisi birçok uygulama için yeterli olacak basitleştirilmiş, temel bilgileri barındıran girdi ve çıktıları içerir. Geodi Token Oluşturma ile alınacak Query yetkisi vermiş Token gereklidir. Eğer son kullanıcı arayüzü hazırlıyorsanız Template ile arama sonucu gösterimi dokümanı daha faydalı olacaktır.

Query
AçıklamaArama sonucuna uyan dokümanların listesini döner. Kullanıcıların GEODI Workspace içindeki dokümanlar içinden arama yapmalarına olanak verir.
İstek

[GEODIURL]/QueryHandler?op=Query&wsName=[WSNAME]&q=[SearchString]&startIndex=[StartIndex]&endIndex=[EndIndex]&options=[OptionsJSON]&UserSession=[TOKEN]

  • wsName(string): İçinde arama yapılacak workspace adı.
  • q(string): Sorgu metni.
  • StartIndex(int - Opsiyonel): Bulunan sorgu sonuçlarının kaçıncıdan itibaren getirileceğinin 0 tabanlı ifadesi.
  • EndIndex(int - Opsiyonel): Bulunan sorgu sonuçlarının kaçıncıya kadar getirileceğinin 0 tabanlı ifadesi.
  • options(Opsiyonel): Sorgu sonucunu değiştirecek ek parametreler
    • ContentIDFilter(int[] - Opsiyonel): İçinden sorgu yapılacak içerikleri filtreler.
    • Envelope([LonMin(int),LatMin(int),LonMax(int),LatMax(int)] - Opsiyonel): Geometrisi verilen BBOX sınırları içindeki kelimeleri döner.
    • LayerIdFilter(int[] - Opsiyonel): Kelimeleri, bu kelimeleri tanıyan tanıyıcıların ID'lerine göre filtreler.
    • KeywordIdFilter(int[] - Opsiyonel): Kelimeleri ID'lerine göre filtreler.
    • CalculateCounts(true/false - Opsiyonel): True olması durumunda sorgudan dönen sonucun içinde NumberOfOccurences alanı dolu gelir.
    • SummaryFill(true/false - Opsiyonel): True olması durumunda sorgudan dönen sonuçların içinde Summary alanı içinde özet bilgileri getirir.
HttpMethodGET,POST
Beklenen Hatalar

401 Unauthorized access / Access denied

403 Forbidden

511 Network Authentication Required

501 Server Error

Dönecek Sonuç
[
	{
		"ContentID":2,
		"Content":
		{
			"DisplayName": "",
			"EnumeratorID": 0,
			"ContentType": "",
			"HasViewer": true,
			"DisableDownload": true,
			"HasNote": true
		},
		"Summary":
		{
			"SummaryID": "",
			"Text": ""
		},
		"Attributes":
		{
			"FolderCanBeShown": "1",
			"PDisplayName": "",
			"PId": "1"
		},
		NumberOfOccurences: 1
	}
]
  • ContentID: İçeriğin ID'si.
  • Content: İçerik bilgileri.
    • DisplayName: İçeriğin görüntülenme ismi. (Dosya ismi vs.)
    • EnumeratorID: İçeriği sağlayan enumerator'ün adı.
    • ContentType: İçeriğin tipi, varsa uzantısı.
    • HasViewer: İçeriğin görüntüleyicisinin olup olmadığı.
    • DisableDownload: İçeriğin kullanıcı tarafından indirilmesininin engellenip engellenmediği.
    • HasNote: İçeriğin not eklenmiş olup olmadığı.
  • Summary: Doküman özet bilgileri. İsteğe giden options nesnesinin içinde SummaryFill alanı true gönderilmişse dolu gelir.
    • SummaryID: Özet ID'si.
    • Text: Özet
  • Attributes: İçeriğe ilişkin dönen ek bilgiler.
    • FolderCanBeShown:
    • PDisplayName: Parent içerik varsa, bu içeriğin görüntülenme ismi.
    • PId: Parent içerik varsa, bu içeriğin ID'si.
    • PcontentType: Parent içerik vars, bu içeriğin tipi
  • NumberOfOccurences: Kelimenin kaç kez geçtiği.

Örnekler
//Request : [GEODIURL]/QueryHandler?op=Query&wsName=PROJE&q=ankara,&StartIndex=0&EndIndex=1
[
	{
		"ContentID":2,
		"Content":
		{
			"DisplayName": "1234.doc",
			"EnumeratorID": -1324,
			"ContentType": ".doc",
			"HasViewer": true,
			"DisableDownload": false,
			"HasNote": false
		},
		"Attributes":
		{
			"FolderCanBeShown":"1",
			"PDisplayName":"Klasör",
			"PId":"1",
			"PContentType":"foldercontent:.folder"
		}
	}
]
//Request : [GEODIURL]/QueryHandler?op=Query&wsName=PROJE&q=ankara,&StartIndex=0&EndIndex=3
[

	{
		"ContentID":2,
		"Content":
		{
			"DisplayName": "1234.doc",
			"EnumeratorID": -1324,
			"ContentType": ".doc",
			"HasViewer": true,
			"DisableDownload": false,
			"HasNote": false
		},
		"Attributes":
		{
			"FolderCanBeShown":"1",
			"PDisplayName":"Klasör",
			"PId":"1",
			"PContentType":".folder"
		}
	},

	{
		"ContentID":3,
		"Content":
		{
			"DisplayName": "5678.xls",
			"EnumeratorID": -1324,
			"ContentType": ".xls",
			"HasViewer": true,
			"DisableDownload": false,
			"HasNote": false
		},
		"Attributes":
		{
			"FolderCanBeShown":"1",
			"PDisplayName":"Klasör",
			"PId":"1",
			"PContentType":".folder"
		}
	},

	{
		"ContentID":4,
		"Content":
		{
			"DisplayName": "90.pdf",
			"EnumeratorID": -1324,
			"ContentType": ".pdf",
			"HasViewer": true,
			"DisableDownload": false,
			"HasNote": false
		},
		"Attributes":
		{
			"FolderCanBeShown":"1",
			"PDisplayName":"Klasör",
			"PId":"1",
			"PContentType":".folder"
		}
	}
]
//Request : [GEODIURL]/QueryHandler?op=Query&wsName=PROJE&q=ankara,&StartIndex=0&EndIndex=1&options={"SummaryFill":true}
[
	{
		"ContentID":2,
		"Content":
		{
			"DisplayName": "1234.doc",
			"EnumeratorID": -1324,
			"ContentType": ".doc",
			"HasViewer": true,
			"DisableDownload": false,
			"HasNote": false
		},
		"Summary":
		{
			"SummaryID": "FTS_0_123_4567_8"
			"Text": ... ankara ...
		}
		"Attributes":
		{
			"FolderCanBeShown":"1",
			"PDisplayName":"Klasör",
			"PId":"1",
			"PContentType":".folder"
		}
	},
]
//Request : [GEODIURL]/QueryHandler?op=Query&wsName=PROJE&q=ankara,&StartIndex=0&EndIndex=1&options={"CalculateCounts":true}
[
	{
		"ContentID":2,
		"Content":
		{
			"DisplayName": "1234.doc",
			"EnumeratorID": -1324,
			"ContentType": ".doc",
			"HasViewer": true,
			"DisableDownload": false,
			"HasNote": false
		},
		"Attributes":
		{
			"FolderCanBeShown":"1",
			"PDisplayName":"Klasör",
			"PId":"1",
			"PContentType":".folder"
		},
		NumberOfOccurentces: 3
	},
]
Örnek Uygulamalar