Why is a GEODI Workspace needed?
A project definition is necessary for Data Extraction / Query / Feed operations. GEODI supports creating projects to completely isolate the indexes.
It is possible to add new projects for needs like institution-specific terms and differences of resources that are going to be searched.
Defining multiple GEODI projects in an organization makes access to content from different sources difficult. Preparing only one project will be more effective to use. This way, it is possible to access resources that are not in your application but included in the project to the extent of your authorization.
How to create a GEODI Workspace?
A new project can be created from the projects screen in the left menu in the interface opened with GEODI.exe.
What is Enumerator/Connector?
It is used to specify the resources that GEODI will scan during project preparation. Resource types like Folders, Web Pages, E-mail, Database, Dropbox are available. By preparing and adding a Content Feed Service resource that provides access to a web service in your application, you can enable GEODI to request updated, changed data from your application at specified intervals and manage authorization based on content.
What is Recognizer?
Recognizers are layers that allow content recognition that can be defined during project preparation. There are many ready recognizers such as dictionaries, Turkish National ID identifier, Plot/Parcel of the land recognizer, Kilometer recognizer, canonical expression recognizer. Thanks to the recognizers, GEODI can display this data even before it is searched. The DataExtraction API returns only the contents found by the identifiers defined in the project.
Why do you prefer the word "Content" instead of "Document"?
GEODI is capable of scanning not only text from documents but also objects provided by enumerators. Moreover, we believe that in our customers’ views the word “document” is not enough to cover stuff like tweets and E-mails for our customers.
You can make use of Geodi Data Extraction API ( Formatter ) web services.
How do I query from the GEODI index?
You can make use of the Geodi Query API ( Query ) webservices.
I want to use GEODI Database scan. How can I index image / byte  fields in the database as documents?
When you select Database enumerator and the tables to be scanned in project preparation, GEODI scans this content like an excel table and indexes are known types and texts. It requires a filename, an image name and a unique id for updates values to scan image / byte  fields. Uses this information for names to be shown in query results. To specify where to get this information, an XML as in the example structure should be located in the "Settings \ Reader \ DBMeta" folder inside the GEODI application. In any database scan, GEODI uses the metadata in this folder.
Sample XML Click to see meta content
<Complex name="Root" type="Geodi.Database.Meta.DBMetaBaseCollection, Geodi.Database">
<Complex type="Geodi.Database.Meta.DBSubContent, Geodi.Database">
<!-- TableFilter: The table that will be affected by the setting -->
<Simple name="TableFilter" value="BELGE.BELGETEST" />
<!-- ColumnFilter: Which columns will be affected by this setting -->
<Simple name="ColumnFilter" value="BelgeAdi,BelgeIcerik,BelgeBelgeIcerikID" />
<!-- DisplayNameColumnMacro: Content display name macro -->
<!-- Example : [DOCUMENTNAME] Document -->
<!-- If left blank file name will be used -->
<Simple name="DisplayNameColumnMacro" value="" />
<!-- IDColumnMacro: Column that include unique ID related to content-->
<!-- Example : [DOCUMENTCONTENTID] Document -->
<Simple name="IDColumnMacro" value="[DOCUMENTCONTENTID]" />
<!-- FileNameColumnMacro:File name macro. Should include filetype too -->
<!-- Example : [FILENAME] -->
<!-- Example : [FILENAME].pdf -->
<!-- Example : [FILENAME].[FILETYPE] -->
<Simple name="FileNameColumnMacro" value="[FILENAME]" />
<!-- FileMemoColumn : byte column name that include file memo -->
<Simple name="FileMemoColumn" value="BelgeIcerik" />
<!-- FileFullPathColumnMacro: File path, if the file is on the disk.Can be usedFileMemoColumn is blank -->
<Simple name="FileFullPathColumnMacro" value="" />
How can I get content to be indexed to GEODI from my application?
You can make use of Geodi Feed Api (FeedHandler) web services.
Why do I use Tokens, how can I get one?
A Token contains information like which services can be accessed on GEODI, when it was given, by which user it was given, how long will it be valid, which clients are allowed. Token got from the services is valid as long as the user is active up to 10 years. We think that it is more secure than distributing usernames and passwords.
If you have an authorized user name and password, you can get a Token with the interface that can be reached from the link in the Geodi REST API page. If you do not have a user name and password, you should ask the system administrator to get a Token on GEODI and forward it to you or insert it to your config file in your application. The system administrator can also use the interface that can be reached from the link in the Geodi REST API page.
What information should I have in my application to use the APIs?
It is usually sufficient to store GEODI Url, WorkspacaName, Token information in your application.
Are there any rules that need to be considered to update the content or privileges I submit with the feed service?
A unique id is needed for the content sent to the service. The feed service uses ContentObject.Content. ContentId as the content id. If required, this value must be a unique value, including your own application name.
If ContentId is not given, the ContentURL id given during feed operation is used. If ContentId is not given, ContentURL must be the same in the next request, otherwise, GEODI will accept as new content.
If known, the content date (ContentObject.ContentDate) and / or content hash information (ContentObject.ForcedContentHash) must be passed. ContentDate must have a date linked to the transmitted content. Changing these values, even if the content does not change each time it feeds, will make GEODI rescan the content and will result in an extra load on both systems.
Do I need to perform a special action when the privileges specified for the content I transmit with the feed service change?
No. Feeding with the same service and new authorizations is sufficient.
How do I turn off versioning for the content I've communicated with the feed service?
It is enough to set ContentObject.Mode to DisableVersions (int 8). The old version will be marked as deleted.
How do I access the ContentObject object structure used in feed services?
You can reach the up-to-date properties of objects over Geodi using http://127.0.0.1:3323/DeceSystemInfoWebHandler?op=ObjectInfo&Name=Geodi.Integration.ContentObject,Geodi.Integration, http://127.0.0.1:3323/DeceSystemInfoWebHandler?op=ObjectInfo&Name=Geodi.Integration.IntegrationObject,Geodi.Integration addresses.
You can reach object documentation from Geodi ContentObject - İçerik Tanım Nesnesi#İçerikTanımNesnesi-Çokluİçerik document.
I am developing my application with the .net framework. Are there API classes available for use?
You can make use of the Geodi.Integration.dll RestApi classes. The .net examples in the document pages also use this language. The current dll is located next to Geodi.exe. It is also located next to the examples on the service detail pages.
I cannot run GEODI.exe on the server on which I have installed the application. Can I access API using IIS or another webserver?
GEODI can be run as an asp.net application under IIS. To do this, the following steps must be followed.
- A virtual folder is created under IIS for GEODI.
- Asp.net 4.0 is set to pool in integrated mode.
- Prepared pool scanning operations and GEODI.exe may require more privileges than standard IIS applications to achieve the same project meta location.
- A .SystemSettings.json file is created in the same location as Geodi.exe. The AppDataFolder setting is inserted to file content in JSON format. This location is the path for GEODI to create projects and store metadata.
- Then the GEODI interfaces can be accessed from http: // [host] / [virtualfolder] / or http: // [host] / [virtualfolder] / gui. (Available versions cannot open the interface correctly without the last "/" at http: // [host] / [virtualfolder] / under IIS)