This document describes how to use Sinequa and how Sinequa is configured.
What is Sinequa?
Sinequa is a global search engine for enterprise. It can index a lot of type of documents (Web, xECM, Google Drive, Aodocs, …).
The Sinequa Company
The Sinequa engine is ed by the Sinequa Company: http://www.sinequa.com
Sinequa documentation
You can find the documentation on this Web site:
URL: https://sinequa-prod.syensqo.com/doc/en/Content/en.index.html
Documentation from Sinequa website: https://doc.sinequa.com/en.sinequa-es.v11/Content/en.index.html
Release Notes: https://download.sinequa.com/release-notes
You can only access with the same credential used for the Sinequa Support portal.
Syensqo documentation
AWS Infrastructure Operational Runbook
Technology
Sinequa is a Windows application using IIS and .net framework. There is no databases server like SQL Server. Data are stored in files.
Version
The current version is the V11.10.0.2123
To see the build number of the version go to the menu Global options in the administration interface.
Software download
https://download.sinequa.com/home
Sinequa Software Download - Credential
https://docs.google.com/spreadsheets/d/1fGic82SAiqcKFV2voPG9N7kUFg4oZxMnaApsjN_-YR4/edit?gid=0#gid=0
Architecture
On the same server, there is the indexing engine and the interface for searching.
Indexation process
The connector process browses all documents of the given collection.
If the document is a html page the document is sent directly to the indexer process.
If the document is not a a html page the document is put in the folder F:\sinequa\temp. It's the queue for the converter process.
The converter process converts non html documents to a html documents and the converted document is sent to the indexer.
A process indexer is created for each indexation. The queue of the indexer in processed in memory (not temporary files). The max number of documents in the queue is 50. If the max number is reached during an indexation the browser/connector process will wait.
Software installation
The installation is describe in this document:
https://sinequa-test.syensqo.com/doc/en/Content/en.sinequa-es.index.installation.html
For the configuration of SSO see this documentation:
https://doc.sinequa.com/en.sinequa-es.v10/Content/en.sinequa-es.how-to.implement-sso.html
See above for the login/password
At the end of the installation don't forget to execute this script:
Software update
To update the software with the last build version:
- download the software (sinequa.xxx.zip) from the Download Sinequa server (https://download.sinequa.com)
- put the file in the directory G:\software
- rename it with the current date : sinequa<version.build>.zip (ex: sinequa.10.5.0.28932.zip)
- replace the folder D:\Sinequa by the content of the zip folder
In AWS it's not possible to download a file from Internet. To do this, we must create a ticket in Service One.
Test environment
Sinequa server
- Copy the file sinequa<version.build>\sinequa<version.build>.zip on the server.
- Unzip the file in the folder G:\softwares\sinequa<version.build>\sinequa<version.build>
- Copy the folder D:\sinequa in the folder G:\backup\sinequa<year><month><day> (exclude the folders temp & log)
- From the Sinequa Administration page, stop the following:
- All running jobs.
- Stop the indexer.
- Stop the Engine.
Stop the IIS Service (World Wide Web Publishing Service)
Set the IIS Service's "Startup Type" to "disabled". (To prevent any script from auto starting up the service)
Stop all Sinequa services (sinequa.service & sinequa.identity1)
Set both Sinequa services' "Startup Type" to disabled. (To prevent any script from auto starting up the service)
- Check that there is no process sinequa running (kill process which name begins with sinequa.*)
- Copy (move + overwrite) all files of the folder G:\softwares\sinequa<version.build>\sinequa into the folder D:\sinequa
Set the IIS Service's "Startup Type" to "Automatic".
Set both Sinequa services' "Startup Type" to "Automatic".
Start all Sinequa services
Start IIS service
- Delete the zip file G:\softwares\sinequa<version.build>.zip and the unzipped folder G:\softwares\sinequa<version.build>
Production environment
Sinequa server
- Copy the file sinequa<version.build>.zip on the server in the drive D
- Unzip the file in the folder D:\sinequa<version.build>
- Copy the folder D:\sinequa in the folder G\Backup\ (exclude the folders temp & log)
- Rename the folder G:\Backup\sinequa into G:\sinequa_setup_backup\sinequa<year><month><day> (backup installation)
- From the Sinequa Administration page, stop the following:
- All running jobs.
- Stop the indexer.
- Stop the Engine.
- Stop the IIS Service (World Wide Web Publishing Service)
- Set the IIS Service's "Startup Type" to "disabled". (To prevent any script from auto starting up the service)
- Stop all Sinequa services (sinequa.service & sinequa.identity1)
- Set both Sinequa services' "Startup Type" to disabled. (To prevent any script from auto starting up the service)
- Check that there is no process sinequa running (kill process which name begins with sinequa.*)
- Copy (move + overwrite) all files of the folder D:\sinequa<version.build>\sinequa into the folder D:\sinequa
- Set the IIS Service's "Startup Type" to "Automatic".
- Set both Sinequa services' "Startup Type" to "Automatic".
- Start all Sinequa services
- Start IIS service
- Delete the zip file D:\sinequa<version.build>.zip and the unzipped folder f:\sinequa<version.build>
Search interface
Override user
If you want to see what can see a user you can override its account.
Connect on the search interface with the Admin account. Add these parameters in the URL:
&overrideuser=<user account>&overridedomain=<domain>
http://sinequa-prod.syensqo.com/admin?user=admin&password=xxxxxxxxx
Change user interface language
The default user language interface is the Windows. If the Windows language is different of English, French, Portuguese, China or German it will be English.
During a session you can change the user interface language by adding the parameter uilanguage(eg: uilanguage=fr, uilanguage=de,...) in the URL.
Example: https://ehs-fp-search.syensqo.com/search?uilanguage=pt
Administration interface
URL
Here’s the URL of the administration interface: https://sinequa-prod.syensqo.com/admin
If your AD account doesn’t have rights you can use this URL to connect with the Sinequa administrator account:
https://sinequa-prod.syensqo.com/admin?user=admin&password=XXXXXX
or go to https://sinequa-prod.syensqo.com/login
(login= admin / password=XXXXXX) and then go to https://sinequa-prod.syensqo.com/admin
Functions
Servers status
In this section you can delete and create index.
You can see the version of Sinequa.
Tasks status
In this section you can see the results of indexing tasks scheduled or not.
You can stop a running task of indexing.
Sessions status
In this section you can see all sessions.
Global options
In the tab General, you can see the version of Sinequa.
In the tab Indexes schema you can define the number of sourcecsv, sourcestr and sourcetree count (fields). If you change this value you have to click on the button Update indexes model.
After the update all indexes will be modified: new fields will be added.
Profiles
In this section you can see all profiles. A profile determines:
- appearance (skin)
- data set
- restrictions
- navigation boxes
For a profile, you can specify the list of indexes, the list of sources, the list of collections
In the Advanced tab, in the field Selection url patterns you can specified a sub-domain that will be associated to the profile (example: For the profile Silica Light ECM it's https://silica-search.solvay.com/).
Sources & collections
A source is a list of collections.
A collection describes data source to be indexed. It can be xECM, Aodocs,…
The name of the index is configured in the source.
In the tab General, the field Tree root indicates the location that will be used in the navigation box Sources.
In the tab Mappings, you can define the initialization of the variables.
You can start indexation by clicking on the button Start connector (the field Force reindexation must be checked).
In the tab Connection check Change connection group name on timeout to avoid trouble if there is page in timeout (avoid that all next pages are considered in timeout (avoid an issue with Tridion)
Domains and partitions
A domain is a list of partitions.
A partition describes a connector to get a list of users (AD,…).
Domain mappings
In this module, you can map different partitions.
Indexes
In this module you can find the list of the indexes. An index is a physical container that stores the result of the indexation.
Grid/nodes
List of Sinequa nodes.
Advanced/Advanced forms
In this module, you can define forms used in the advanced search.
Advanced/Skins
A skin describes a type of interface. All graphic elements are stored in the folder F:\sinequa\website\skins\<name of the skin>.
To configure the zone in the results search go in the tab Search Form.
In the section Custom html / Metadata html pattern if you type you will display nothing above the link Cached document. If there is nothing in the zone, Sinequa will put the default value that you can in the documentation.
The other solution is to insert this code in the search.cs plugin :
public override bool OnWriteDocMetadata(Doc doc)
{
if (Str.EQNC(Session.Profile.Name, "RhodiaGlobal") || Str.EQNC(Session.Profile.Name, "RhodiaInteractive"))
{
return true;
}
return false;
}
Advanced/Plugins
List of the plug-ins.
A plug-in is a code that is executed during the indexation or the searching. The code replaces the normal execution to personalize treatment.
Crawler.cs
This plug-in concerns the indexation.
You can put code that will be executed during the indexation to make specific processing.
Example :There is a code to delete concurrencies of the parameter jsessionid (cleaning) in the URL.
search.cs
This plug-in concerns the searching interface.
The code makes these actions:
- takes into account the parameter q (search text) instead of text to be compliant with the Google Desktop
- manages sort
- manages pagination
- replace the character “_” by the character “ ” in the name of the document to allow break lines (avoid the increase of the width of the window)
public override bool OnWriteDocTitle(Doc doc)
{
// string title = doc.SourceStr(13) + " " + doc.SourceStr(2) + " " + Ht.Text(doc.ResultTitle.Replace("_", " "));
string title = Ht.Text(doc.ResultTitle.Replace("_", " "));
if (doc.SourceStr(13)=="0") {
Hm.Write("<span class="customtitle" rhodiatitle=\"", doc.SourceStr(13) ,"\">",title ,"</span>");
}
else if (doc.SourceStr(2)=="WD") {
Hm.Write("<span class="customtitle" rhodiatitle=\"", doc.SourceStr(2) ,"\">",title ,"</span>");
}
else {
Hm.Write(title);
}
return true;
}
=> This code will change the color of the title if the field SOURCESTR13 is equal to 0 or SOURCESTR2 is equal to WD
Advanced/Navigation boxes
In this module, you can manage all navigation boxes, native and custom.
If the first character of the name of the box is “_” it means that it’s a native box. You can't modify it.
Advanced/Commands
In this module you can execute Sinequa commands:
- delete collection
- delete source
- reorganize index (shrink index)
- sql request
- ...
Custom parameters
You can add parameters in all forms of the administration (profiles,...). These parameters could be used in plugins files to specific processing.
For example, the filter added in the boxes allowing to show box if the current treepath is a equal to a specific value was made by this method.
Content of E:\sinequa\data\configuration\form-override\box.list.xml overriding the form of the navigation box:
<?xml version="1.0" encoding="utf-8"?>
<Sinequa>
<Inherit>box.list</Inherit>
<Tab merge-type="merge" merge-attrname="id" merge-attrvalue="general">
<Group merge-type="add">
<Entry><Display>{Lang("Hide box if items count >[fr]Cacher la boîte si le nombre d'item est >")}</Display><DataTag>HideMoreThanXRows</DataTag></Entry>
</Group>
<Group merge-type="add">
<Display>{Lang("Show box if filter[fr]Afficher la boîte si filtre")}</Display>
<Grid>
<DataTag>ShowBoxIfSelectionValue</DataTag>
<Col><Title>{Lang("Box[fr]Boîte")}</Title><DataTag>boxname</DataTag><Width>50</Width><CellType>entrycombo</CellType><CellListName>listbox</CellListName></Col>
<Col><Title>{Lang("Operator[fr]Opérateur")}</Title><DataTag>comp_operator</DataTag><Width>50</Width><CellType>entrycombo</CellType><CellListName>listcompoperator</CellListName></Col>
<Col><Title>{Lang("Value[fr]Valeur")}</Title><DataTag>value</DataTag><Width>200</Width><CellType>input</CellType></Col>
<Col><ShowPlus>true</ShowPlus><Width>16</Width><CellType>rowdelete</CellType><CellValue>rowdelete</CellValue></Col>
</Grid>
</Group>
<Group merge-type="add">
<Display>{Lang("Show box if is in tree[fr]Afficher la boîte si dans l'arbre")}</Display>
<Grid>
<DataTag>ShowBoxIfAllInTreeNode</DataTag>
<Col><Title>{Lang("Box[fr]Boîte")}</Title><DataTag>BoxTreeName</DataTag><Width>50</Width><CellType>entrycombo</CellType><CellListName>listbox</CellListName></Col>
<Col><Title>{Lang("Value[fr]Valeur")}</Title><DataTag>value</DataTag><Width>200</Width><CellType>input</CellType></Col>
<Col><ShowPlus>true</ShowPlus><Width>16</Width><CellType>rowdelete</CellType><CellValue>rowdelete</CellValue></Col>
</Grid>
</Group>
</Tab>
<List merge-type="add">
<Name>listcompoperator</Name>
<Item><Name>Equals[fr]Est égal</Name><Value>=</Value></Item>
<Item><Name>Contains[fr]Contient</Name><Value>contains</Value></Item>
</List>
</Sinequa>
Part of the screen shot:
Data associated to these fields are used in the event OnWriteBoxList of the search plugin.
Jobs
In this module, you can schedule jobs (indexation of collections, partition synchronization, commands, list of jobs).
Logs
To reduce the log level for the WebApp, goto to Global options/Advanced and type 2 in the zone Sql log level (default 1). Otherwise, the size of the log files may be important.
If you want to activate logs for a module, you have to type 20 in the field Log level in the tab Advanced. The logs will be written in the folder D:\sinequa\log.
Translation of labels
If you want to translate English labels into French you have to put after the English label the characters “[fr]” and the French label.
Example: Keywords[fr]Mots clés
Replacement of labels
To replace label by a personalize label you have to put the replacement in the file E:\sinequa\data\configuration\lang\en.xml for English labels and in the file E:\sinequa\data\configuration\lang\fr.xml for French labels.
Example: The label in English in the bookmarks menu
<item>
<key>Baskets[fr]Paniers</key>
<value>Bookmarks</value>
</item>
New language
If you want to add a new language (language LG), you need to translate labels.
Copy the file D:\sinequa\samples\en.sample.xml into D:\sinequa\samples\LG.sample.xml
Translate the tag values of the file F:\sinequa\samples\LG.sample.xml
Copy the file E:\sinequa\data\configuration\lang\fr.xml into E:\sinequa\data\configuration\lang\LG.xml
Translate the tag values of the file G:\sinequa\\data\configuration\lang\LG.xml
Need an IIS service restart to take it into account.
SCMD commands (Sinequa Command)
On the server, you can execute commands with SCMD exe.
Example of CSV export:
scmd execsqlcsv "select id,title,filename from idx_DocumentumEHS2 where text contains ' +(wercs)' and ((collection contains '/Documentum/rcsehs2_test/*')) and sourcestr13 contains 'historical' and SearchParameters='mac=100000;dlang=autodetect;langw=en/1.2/fr/1.1/es/1.0/it/1.0/nl/1.0/ko/0.8/*/0.9' count 2000000000 " f:\export_historical_wercs.txt
SQL requests
Sinequa as developed is own SQL language for indexes requests. You can use the SQL Console within the Sinequa Admin page.
The SQL Console can only be accessible if the user is defined as Administrator for the domain.
You will need to make sure you are the administrator for the domain "Rhodia_AD".
If user is not able to find the SQL Console, make sure the user is added as the administrator of the "Rhodia_AD".
Example of request:
select id,databasealias,title,documentlanguages,authors,modified,indexationtime,version,keywords,size,treepath,filename,fileext,flags,collection,
docformat,doctype,containerid,msgfrom,msgto,remap(person),remap(company),remap(geo),url1,url2,accesslist1,
accesslist2,deniedlist1,sourcecsv1,sourcecsv2,sourcecsv3,
sourcecsv4,sourcecsv5,sourcecsv6,sourcecsv7,sourcecsv8,
sourcecsv9,sourcecsv10,sourcecsv11,sourcecsv12,sourcecsv13,
sourcecsv14,sourcecsv15,sourcecsv16,sourcecsv17,
sourcecsv18,sourcecsv19,sourcetree1,sourcetree2,sourcestr1,searchid,
from idx_CrawlInternet,idx_CrawlInternetDEV,idx_CrawlIntranet,idx_CrawlIntranetBasicHtml,
idx_CrawlIntranetBlog,idx_CrawlIntranetDEV,idx_Documentum,idx_Eroom
where ((collection contains '/InteractiveInternetPublic/*') or (collection contains '/InteractiveIntranetPublic/*') or (collection contains '/Eroom/*') or (collection contains '/BasicHtmlIntranet/*') or (collection contains '/Documentum/*')) and treepath contains '/Eroom/*' order by modified desc skip 0 count 20
CSV Export of the content of index
For small export you can use the Engine Console (Menu: Session/ Save Results).
For huge export you can execute this example of script (inside a bat extension file):
F:\sinequa\website\bin\tools.engine.SQL-32.exe --host=acew1psinesin01 "--execute=select id,documentlanguages,treepath,title,filename, modified,indexationtime,docformat,sourcecsv1,sourcecsv2,sourcecsv3,sourcestr1,sourcestr2,sourcestr3,sourcestr4,sourcestr5,sourcestr6,sourcestr7,sourcestr9,sourcestr10,sourcestr11,sourcestr12,sourcestr13,sourcestr14,sourcestr15,sourcestr16,sourcestr17,sourcestr18,sourcestr19,sourcestr20,sourcestr20,sourcestr21,sourcestr22,sourcecsv20 from idx_Documentum where treepath contains '/Documentum/RCSEHS/EHS/*' and sourcestr4 contains 'sds - europe' order by modified desc skip 0 count 200000" > ehsexport_sds_europe.dat
F:\sinequa\website\bin\tools.engine.SQL-32.exe --raw --host=acew1psinesin01 "--execute=select Id,DocumentLanguages,treepath,filename,modified,indexationtime,size,fileext,docformat,doctype,url1 from idx_solwebinternet where collection ='/SolwebInternet/Solvay.com/' order by indexationtime asc " > exportcsv.dat
Sinequa for Syensqo
Servers
Environment | Windows name | IP | AWS Name | Instance ID | Account ID | Account name | Jumpbox | Jumpbox | IP Jumpox |
DEV | ASEW1DSINESIN01 | 172.18.226.200 | sco-ec2-ew1-sine-d-sin-01 | i-05fbdd1ab9af5e8a6 | 014498626072 | Sinequa Development Account | sco-ec2-ew1-sine-d-rdp-01 | i-0056f995faaa7a4c0 | 172.18.178.72 |
TEST | ASEW1VSINESIN01 | 172.18.226.230 | sco-ec2-ew1-sine-v-sine-01 | i-018cc64faf2231387 | 340752796330 | Sinequa Preprod Account | same | same | same |
PROD | ASEW1PSINESIN01 | 172.18.200.70 | sco-ec2-ew1-sine-p-sin-01 | i-0b9ecbd0068f7eeb2 | 463470971260 | sinequa production account | same | same | same |
Service accounts
The service accounts are all stored in this GDrive link.
This link is only accessible by the Sinequa team. To access the link, request for the permission.
List of accounts:
| Account | Server | Environment |
oxo\SVC-000368 | ASEW1DSINESIN01 | SANDBOX |
| oxo\SVC-000379 | ASEW1VSINESIN01 | TEST |
| oxo\SVC-000497 | ASEW1PSINESIN01 | PRODUCTION |
Organization of directories
| Directory | Description |
| H:\IIS_Logs | Logs for IIS |
| D:\sinequa\ | All source files for Sinequa |
| D:\sinequa\website | Scripts for the Web interface search |
| D:\sinequa\website\skins\SolvayV10 | Files for the skin SolvayV10 |
| F:\SinequaLog\log | Sinequa log files |
| E:\sinequa\data\configuration | All files for the configuration of Sinequa |
| E:\sinequa\data\configuration\lang | Files for the labels (French + English and others (PT & DE)) |
| D:\sinequa\indexes | Index files |
| E:\sinequa_setup_backup | Dump of the index |
| E:\sinequa\data\configuration\delegated-admins | List of administrators of the application |
Accounts
Accounts for the Web Sinequa interface are linked to Active Directory of Rhodia.
Extra accounts (Sinequa administrator, Web Services) have been created in this file:
E:\sinequa\data\configuration\domains\Sinequa\DefaultPartition\content.xml
Extra accounts are not visible in the administration interface but they can be used to restrict access to data.
Piwik
Piwik ( Matomo) is a web analytics application to track online visits to one or more websites and display reports on these visits for analysis.
Piwik has been integrated in Sinequa by a js file inserted in the Skins:
Each interface has a configuration file in the folder D:\sinequa\website\solvay_custom\
Ex: Content of the file D:\sinequa\website\solvay_custom\piwik.ehs-fp-search.syensqo.com.js
(function(window, document, dataLayerName, id) { |
|---|
Url of the tool to see reports: https://syensqo.piwik.pro/
SSO SAML
SSO has been implemented on the 23.06.2025
Configuration screenshots:
IIS must configured like this:
Marquee Replacement
As Marquee feature is obsolete and may be removed at any time, a replacement for marquee feature is needed. (Marquee tag is used for text moving animation in web browser)
https://developer.mozilla.org/en-US/docs/Web/HTML/Element/marquee
Keyframes is used to replace marquee feature:
https://css-tricks.com/snippets/css/keyframe-animation-syntax/
Below code is added to F:\Sinequa\website\skins\rhodiainteractive\rhodia.css
/* New Marquee */
/* define the animation */
@-webkit-keyframes new_marquee {
0% { -webkit-transform: translate(268px, 0); }
100% { -webkit-transform: translate(-100%, 0); }
}
@-moz-keyframes new_marquee {
0% { -moz-transform: translate(268px, 0); }
100% { -moz-transform: translate(-100%, 0); }
}
@keyframes new_marquee {
0% { transform: translate(268px, 0); }
100% { transform: translate(-100%, 0); }
}
/* define your limiting container */
.new_marquee {
white-space: nowrap;
overflow: hidden;
border-color: #0aa2e3;
box-sizing: border-box;
width: 268px;
height:20px;
}
/* this is the tray moving around your container */
.new_marquee span {
display: inline-block;
text-indent: 0;
font-size: 13px;
font-weight: bold;
color: #808080;
-webkit-animation: new_marquee linear infinite; /* here you select the animation */
animation: new_marquee linear infinite; /* here you select the animation */
}
/* pause the animation on mouse over */
.new_marquee span:hover {
-webkit-animation-play-state: paused;
animation-play-state: paused;
}
In Sinequa plugin search.cs, below code is added:
string LogoTitle = Sys.Lang(Rhodia_LogoTitle);
string len = (LogoTitle.Length * 7).ToString();
string duration = ((LogoTitle.Length / 70) * 15).ToString();
if (duration == "0") {
duration = "15";
}
Hm.Write("<p class=\"new_marquee\"><span style=\"animation-duration:", duration, "s;\">", LogoTitle, "<span></p>");
Logic above:
- Get LogoTitle from search profile
- Get length of LogoTitle
- Calculate duration for the keyframes transform animation to scroll the text (Basically every 70 chars needed 15 seconds)
- Write html code to call new marquee class
Change default images
Default images of the folder F\sinequa\website\images (icons,...) can be replaced by new ones. You just have to create the new images with the same name in the folderF\sinequa\website\images2
This folder is never overwritten by new upgrade of the software.
With this method we changed the default bookmark (basket) icon (basket.gif) and the new bookmark (basket) icon (new11.gif).
If you add new files in the folder images2 you need to restart IIS.
Specific settings
SolvayOne: Excluding indexation of the text "Google Translate" and "For a better display of Solvay ONE, please switch to Chrome browser" (no longer used)
Excluding the text "Google Translate"
Exclude the indexation of the SolvayOne by indicating the div in the XPath setting in the Collection > Mappings > XPath
Collection > Mappings > XPath
//div[@class="labelTranslate"]
Excluding the text "For a better display of Solvay ONE, please switch to Chrome browser"
Exclude the indexation of the SolvayOne by performing the indexation with Chrome agent.
Collection > Connection > User Agent
Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.36
QUALITY MODOPE: integration in the custom fulltext of the values of multivalued dictionaries (no longer used)
For the project Quality modope the keyuser wants that the values of a multivalued dictionary are included in the custom fulltext.
To do this we modified the Method OnConnectorStart of the plugin connector documentum.cs:
For each dictionary a file is generated in the folder G$\sinequa\data\configuration\files\filemapping
Each file contains for each key a line of the list of values in each language and the key.
Example: First lines of the file DTC.csv.DIC QUALITE_MODOP Keywords.txt:
2-DIMETHYLAMINOETHYLE METHACRYLATE 2-DIMETHYLAMINOETHYLE METHACRYLATE ;2-DIMETHYLAMINOETHYLE METHACRYLATE |
|---|
In the plugin search.cs we created this new function:
// Function MultiFileMapping used in the mapping section of a collection // Used for multi-valued fields |
|---|
In the section Custom Fulltext of the tab Mappings of the collection /Documentum/quality_modeop/ we added this expression:
| Replace(MultiFileMapping("DTC.csv.DIC QUALITE_MODOP Keywords",property.keywords),";"," ") |
|---|
Force language for Deeg Project (no longer used)
For the interface Deeg (profile=DCT_QUALITY_DGI) , code in the plugin search.cs (OnPageStart() event) have been added to force the interface language to English if the language of the browser is different of French, German or English.
if (Session.SessionUiLangStr != "fr" && Session.SessionUiLangStr != "de" && Session.SessionUiLangStr != "en" && (Session.Profile.Name == "DCT_QUALITY_DGI_TEST" || Session.Profile.Name == "DCT_QUALITY_DGI")) {
Session.SetUiLanguage("en");
Session.RecalculateSessionUiLang();
}
EHS xECM interfaces
Add links in the menu with different color (no longer used)
To do this:
In the profile we added the links:
In the associated skin we added the files skins/gecdoc.js and skins/rhodiainteractive/gecdoc.css
Content of the file skins/gecdoc.js
| $(document).ready(function() { $("#dm0m0i2td td:contains('GECDOC Contents')").each(function () { $(this).addClass( "gecdocZone1" ); }); $("#dm0m0i3td td:contains('GECDOC Contents')").each(function () { $(this).addClass( "gecdocZone1" ); }); $("#dm0m0i3td td:contains('GECDOC training')").each(function () { $(this).addClass( "gecdocZone1" ); }); $("#dm0m0i4td td:contains('GECDOC training')").each(function () { $(this).addClass( "gecdocZone1" ); }); $("#dm0m0i4td td:contains('Intranet GEC')").each(function () { $(this).addClass( "gecdocZone2" ); }); $("#dm0m0i5td td:contains('Intranet GEC')").each(function () { $(this).addClass( "gecdocZone2" ); }); $("#dm0m0i6td td:contains('Industrial Intranet')").each(function () { $(this).addClass( "gecdocZone2" ); }); $("#dm0m0i5td td:contains('Industrial Intranet')").each(function () { $(this).addClass( "gecdocZone2" ); }); $("#dm0m0i7td td:contains('Material Code')").each(function () { $(this).addClass( "gecdocZone3" ); }); $("#dm0m0i6td td:contains('Material Code')").each(function () { $(this).addClass( "gecdocZone3" ); }); }); |
Content of the file skins/rhodiainteractive/gecdoc.css:
| .gecdocZone1 { background-color:#97BE0E!important; cursor:pointer; } .gecdocZone2 { cursor:pointer; background-color:#9ACCE5!important; } .gecdocZone3 { cursor:pointer; background-color:#FF7F27!important; } #search-input{ width:105px; } |
Box Process guide chapter (no longer used)
The box Process guide chapter is displayed only if the user has chosen the item PROCESS ENGINEERING in the box Discipline.
Setting of the box DCT_GEC_rho_dgi_process_guide (Process guide chapter):
CSV export
The export CSV is activated:
The fields that are exported is listed in the tab Export CSV of the profile:
Search on title in Advanced search (Issue with diacritical) (no longer used)
In the advanced search users can make search on title through a suggestion:
The title is stored in the field sourcestr19.
In the method GetSqlOverride we added this code:
| else if (Str.EQNC(Session.Profile.Name, "DCT_QUALITY_GECDOC")){ //and sourcestr4 contains colls = Regex.Matches(sql, "sourcestr([\\w]+) contains '([^']+)'"); foreach (Match m in colls) { if (Str.Contains(m.Value, "sourcestr10")) { sql = Str.Replace(sql, m.Value,"sourcestr" + m.Groups[1].Value + " regexp '" + m.Groups[2].Value + ".*'"); } if (Str.Contains(m.Value, "sourcestr18")) { sql = Str.Replace(sql, m.Value,"sourcestr" + m.Groups[1].Value + " regexp '" + m.Groups[2].Value + ".*'"); } if (Str.Contains(m.Value, "sourcestr19")) { string valuegroup = RemoveDiacritics(m.Groups[2].Value); sql = Str.Replace(sql, m.Value,"sourcestr" + m.Groups[1].Value + " regexp '" + valuegroup + ".*' 'd'"); } } } |
|---|
We created the function RemoveDiacritics to replace diacritics to fix issue :
| // Remove Diacritics for regexp function private string RemoveDiacritics(string result) { result = result.Replace('à', 'a'); result = result.Replace('á', 'a'); result = result.Replace('ä', 'a'); result = result.Replace('â', 'a'); result = result.Replace('ã', 'a'); result = result.Replace('å', 'a'); result = result.Replace('é', 'e'); result = result.Replace('è', 'e'); result = result.Replace('ê', 'e'); result = result.Replace('ë', 'e'); result = result.Replace('ì', 'i'); result = result.Replace('í', 'i'); result = result.Replace('ï', 'i'); result = result.Replace('î', 'i'); result = result.Replace('ò', 'o'); result = result.Replace('ó', 'o'); result = result.Replace('ô', 'o'); result = result.Replace('ö', 'o'); result = result.Replace('û', 'u'); result = result.Replace('ü', 'u'); result = result.Replace('ù', 'u'); result = result.Replace('ú', 'u'); result = result.Replace('ý', 'y'); result = result.Replace('ÿ', 'y'); result = result.Replace('ç', 'c'); result = result.Replace('ñ', 'n'); return result; } |
|---|
Multiple treesource1 value for GECDoc (no longer used)
In order for the document type for the same documents in GECDoc to appear in both tree source "2. DISCIPLINE DOCUMENT" and "3. RELATED DOCUMENTS" branch "TEMPLATE", special configuration is required.
In the filemapping/GEC.DocumentType, Documentum value "TEMPLATE" will map to "/2. DISCIPLINE DOCUMENT/TEMPLATE~/3. RELATED DOCUMENTS/TEMPLATE". As the multiFileMapping function cannot support retrieving value which contains ";", "~" is used to replace the special character ";".
In the Collection's mapping, using the replace function to replace "~" with ";" so as to store the value as a multi-value source tree.
Replace(MultiFileMapping("GEC.DocumentType",property.rho_doctype),"~",";")
Force language for Qualité R&D project (DCT_QUALITY_QRD) (no longer used)
For the interface Qualité (profile=DCT_QUALITY_DGI) , code in the plugin search.cs (OnPageStart() event) have been added to force the interface language to French if the language of the browser is different of French.
if (Session.SessionUiLangStr != "fr" && Session.Profile.Name == "DCT_QUALITY_QRD") {
Session.SetUiLanguage("fr");
Session.RecalculateSessionUiLang();
}
Linked documents for Qualité R&D project (DCT_QUALITY_QRD) (no longer used)
In the results list linked documents can be displayed (in French Documents associés):
During the indexation the content of the property rrd_q_linked_documents is set in the field sourcecsv4 and the content of the property property.rrd_q_i_linked_id is set in the fieldsourcecsv5.
The property rrd_q_linked_documents contents the list (label) of the linked documents (ex: 4SREAMO003;4SREAMO002).
The property rrd_q_i_linked_id contents the list (id) of the linked documents (ex: 090166358004807a;0901663580048079).
In the search.cs plugin we added a code for the display (OnWriteDocBeforeResultLinks):
| public override void OnWriteDocBeforeResultLinks(Doc doc){ if (Str.EQNC(Session.Profile.Name, "DCT_QUALITY_QRD")){ Hm.Write("<br>"); Hm.Write("<span style=\"color:#000;\" >Document(s) associé(s) : </span>"); int i,numberofdocsassoc; string[] turl; turl = doc.Url1.Split('='); ListStr listLibelle = ListStr.ListFromStr(doc.SourceCsv4, ';'); ListStr listId = ListStr.ListFromStr(doc.SourceCsv5, ';'); numberofdocsassoc = listLibelle.Count; if (listId.Count < numberofdocsassoc) numberofdocsassoc = listId.Count; if (listLibelle.Count > 0 && listId.Count > 0 && numberofdocsassoc > 0) { for (i = 0; i < numberofdocsassoc; i++) { if(Str.EQNC(listId[i],"0000000000000000")){ Hm.Write(Ht.Text(listLibelle[i])," "); } else { Hm.Write("<a target=\"_blank\" href=\"",turl[0],"=", Ht.Text(listId[i]) ,"\" style=\"color:#0095D8;\">",Ht.Text(listLibelle[i]),"</a> "); } } } } } |
|---|
Rewritings : allow search on synonym
With Sinequa it's possible to manage a list of synoms on which you can search.
An how-to page explains how yo implent it: https://sinequa-test.syensqo.com/doc/en/Content/en.sinequa-es.how-to.rewritings.html?Highlight=rewriting
We implement it for two search interfaces :
Example:
In http://ehs-search.solvay.com if you search the word PDMB you will find documents that contains PARADIMETHOXYBENZENE:
rewriting expression for thie example:
<rewriting lang="en,fr"> |
|---|
Il you add new entries in a rewriting files you will have:
- reload the tagger of the indexer: select 'More actions' > 'Reload tagger' menu of indexer
- Reload dictionaries if the Engine: select the 'More actions' > 'Reload dictionaries' menu of Engine
- Reindex impacted documents (not sure ??)
Storage of the rewrtings expressions : Indexing > Files > Rewritings
Public documents access for Documentum EHS application
We put in place a specific rule for "public" documents in Documentum: anybody of the AD can see documents that can be seen by the Documentum account intranet_generic_user. This account is member of the Documentum group ehs_intranet_users.
Access permissions are set by the import batch in Documemtum according to a security matrix.
If a document can be seen by the members of the group group ehs_intranet_users in Documentum it could be seen in Sinequa.
Note that users can open documents via Sinequa because no Documentum account is needed for this operation.
This rule was done in the domain mapping section:
External Website for Carechem (not used now, replaced by new app Sachem)
For Carechem (new name NCEC), we gave an access to Sinequa for users outside the Rhodia network.
Users can access to the profile http://carechem-search.solvay.com (http://sinequa-prod.syensqo.com/ search?profile=FdsCarechem) by this url:
https://fds-carechem-search.solvay.com/SnqCarechem/search
They need an AD account. Login / password: eua\carechem / tHHv871@zQ3
The reverse proxy had been configured to map connections.
To do this, in IIS we created the WebSite Extranet on the port 8081:
The security settings:
In the website Extranet where created an application SDS:
In the file F:/sinequa/sinequa.xml we added this section:
<WebAppInfo>
<Name>WebAppVirtualSiteacew1psinesin01</Name>
<Path>F:\Sinequa\local-data-8081</Path>
<URLPaterns>http://*/Sinequa/*</URLPaterns>
</WebAppInfo>
Content of F:/sinequa/sinequa.xml on 03.08.2017:
<?xml version="1.0" encoding="utf-8"?> |
|---|
We created the file F:\sinequa\website\bin\sinequa_filter.cfg containing these data:
//configuration for subsite 'sinequa' (http://localhost/sinequa/)
+sinequa
Content of the file F:\sinequa\website\bin\sinequa_filter.cfg on 03.08.2017:
//configuration for subsite 'sinequa' (http://localhost/SnqSuggestions/) |
|---|
We created the folder F:\sinequa\local-data-8081 by duplicating the folder F:\sinequa\local-data and after deleting the folders F:\sinequa\locla-data-8081\configuration and F:\sinequa\local-data-8081\status
In the Sinequa administration we created the WebApp WebAppVirtualSiteacew1psinesin01 (section Grid/WebApps)
The URL for the viewing of the document is change in the profile.
| TEST | PRODUCTION | |
|---|---|---|
| External URL |
NOT DISPONIBLE ON INTERNET | https://fds-carechem-search.solvay.com/SnqCarechem/ |
| Internal URL | http://carechem-search-test.solvay.com:8080/sinequa/ | http://carechem-search.solvay.com:8081/sinequa/ |
| Expression for the URL display | Concat("http://qa-carechem-search.solvay.com/FetchDoc/component/internetdrl?objectId=",SubStringFromEnd(id,0,16)) | Concat("http://fds-ecm.solvay.com/FetchDoc/drl.html?objectId=",SubStringFromEnd(id,0,16)) |
| URL display | http://qa-carechem-search.solvay.com/FetchDoc/component/internetdrl?objectId=XXX | https://fds-ecm.solvay.com/FetchDoc/drl.html?objectId=XXX |
| Reverse proxy associated | frlbiswt01.ema.priv.rhodia.com (FRPARIST07 & FRPARIST06) | WDCISP04 |
Note:
If the configuration of Sinequa is changed, the changes will take effect on the WebSite Extranet (8081) after the restart of IIS or after a change by the admin:
http://sinequa-prod.syensqo.com:8081/ sinequa/admin
(Login: eua\dtc_xxx )
Note #1
We are waiting for agreement (Documentum team) to add 2 new external access:
Study information :
Note #2 added the 23.01.2017 by LR
After the removal of the prefix eua in all domains (operation done week 3-2017) the Carechem interface was not working.
Operations done to fix the issue by LR:
- Creation of the partition /Solvay_External_EHS/eua.solvay.external/ with name prefix equal to eua\:
- Creation of the domain mapping record:
- Change of the security domain of the WebApp WebAppSnqCarechemacew1psinesin01
SILICA ROCS - display the contact of a site (no longer used now)
For the interface http://silica-search.solvay.com/search when a user selects a site in the box PRODUCTION SITE the contact associated to the site will be displayed in the box SITE CONTACT.
We created the file (Files/File Mappings) Sites_Contacts_SILICA_ROCS (E:\sinequa\data\configuration\files\filemapping\Sites_Contacts_SILICA_ROCS.txt) :
| DELPORTE Isabelle;Collonges PALHARES Luciana;Paulinia ARCE Jesus;Barquisimeto SHI Feng;Qingdao Chengyang STRICKLER Rachel;Chicago Heights PARENTI Matteo;Livorno SHI Feng;Qingdao Licang LEE Sung-Ho;Incheon |
This file contains the list of contacts for each sites.
For the collection /Documentum/silica_rocs/ in the Mapping tab we added this entry:
| sourcestr26 | FileMapping("Sites_Contacts_FAST_SILICA_ROCS",property.sol_doc_site) |
|---|
For the box DCT_FAST_site_contact we added this line:
In the plugin search.cs we modified the function IsUsed :
| public bool IsUsed(Result result, string boxname, string comp_operator, string value) { bool bok = false; int c = result.Query.GetSelectionCount(); int i = 0; for (i = 0; i < c; i++) { Selection sel = result.Query.GetSelection; if (sel.Type == SelectionType.Simple) { SelectionSimple simple = (SelectionSimple)sel; if (Str.EQNC(simple.BoxName, boxname)) { if (Str.EQ(comp_operator, "=")) { if (Str.EQNC(simple.Value, value)) return true; } else if (Str.EQ(comp_operator, "notempty")) { //Sys.Log2(1, "BINGO " + simple.Value ); //if (!Str.IsEmpty(simple.Value)) Sys.Log2(1, "BINGO2 " + simple.Value ); if (!Str.IsEmpty(simple.Value)) return true; } else { if (Str.IndexOfNoCase(simple.Value, value) > -1) return true; } } } } return bok; } |
Synonym - Searching for similar words
In order to include search words with the similar meaning, in Sinequa, we used the "synonyme" in the "Synonyms" under the "Advanced" → "Files".
| Synonym words |
|---|
| america;americas |
Implement Info Box in RCSEHS skin
User request to add a special note in RCSEHS search profile:
Related CSS is implemented in F:\Sinequa\website\skins\rhodiainteractive\rhodia.css
.confluence-information-macro {background:#fcfcfc;border:1px solid #ccc;-moz-border-radius:5px;-webkit-border-radius:5px;border-radius:5px;color:#333;margin:10px 0 1em 0;min-height:20px;padding:10px 10px 10px 36px;position:relative} .confluence-information-macro-tip {background-color:#f3f9f4;border-color:#91c89c} |
A new image is introduced in F:\Sinequa\website\skins\rhodiainteractive\tips.gif
A new javascript is implemented in F:\Sinequa\website\skins\rhodiainteractive\config_rcsehs2_only.js
// Create a flashing banner based on user request var txt = "For some countries we have to use a dedicated SDS variant to comply with local regulations. For the others, we rely on the more generic \"United Nations\" variant (\"SDS_UN\"). to consult which variant is appropriate for which country, click on the button \"List of SDS variants by country\" above"; // create elements <table> and a <tbody> var body = document.getElementById("search-table"); var tr = body.insertRow(1); var td = tr.insertCell(0); var td2 = tr.insertCell(1); td2.innerHTML = ("<div class=\"confluence-information-macro confluence-information-macro-tip\"><span class=\"aui-icon aui-icon-small aui-iconfont-approve confluence-information-macro-icon\"></span><div class=\"confluence-information-macro-body\"><p>" + txt.fontsize(2) + "</p></div></div>"); |
RegWatch
The search interface RegWatch is based on a AoDocs library. Some documents have several files attached. When Sinequa indexes documents having several files it creates a record for each files in the index. The key user wanted to group files to the document.
Display for a document having 3 files attached:
To implement this feature, we created a script executed after the indexation. ( \\acew1tsinesin01\works\regwatch_ECO\regwatch.cmd )
| echo %date% %time% ++ Start of regwatch.cmd >> F:\works\regwatch_ECO\regwatch.log call F:\works\regwatch_ECO\export_sourcestr22.cmd PowerShell -File F:\works\regwatch_ECO\updatesinequa.ps1 call F:\Sinequa\website\bin\scmd.exe execsql @F:\works\regwatch_ECO\update_main_doc.sql localhost 10300 > F:\works\regwatch_ECO\update_main_doc.sql.log echo %date% %time% ++ End of regwatch.cmd >> F:\works\regwatch_ECO\regwatch.log |
|---|
F:\works\regwatch_ECO\export_sourcestr22.cmd :
| F:\Sinequa\website\bin\scmd.exe ExecSqlCsv "select sourcestr22 from idx_AoDOcs where collection='/AoDocs/RegWatch Database/' and sourcestr22 <> '' group by sourcestr22 order by sourcestr22 asc" F:\works\regwatch_ECO\export_sourcestr22.csv ";" localhost 10300 |
|---|
export_sourcestr22.sql :
This file contains the list of documents in AoDocs (not the files).
The script updatesinequa.ps1 genrates a file like this wich is executed:
update idx_AoDocs set sourcestr23 = 'Main',sourcecsv6='' where collection ='/AoDocs/RegWatch Database/' and id='/AoDocs/RegWatch Database/|document/TdlqFys0RfK94j8csS/1nsOoz7nVPRx_SoPdxbLsL_LsulauCTXntHHUW6Os3wc' ;
... |
|---|
Salesforce integration in MySolvayPortal
MySolvayPortal (previously CEP) is a customer portal developed in Salesforce environment. Customers and distributors can search for documents (SDS, TDS,...) and download them.
Documentation Salesforce developer done during the project:
MySolvayPortal - Sinequa : technical specifications to search documents in Sinequa with rest API
Salesforce is able to make search with Sinequa API Rest.
Example of query:
{ "query": { "text": "oxygen" , "advanced": [{"type": "simple", "op": "eq", }, {"type": "simple", "name": "sourcestr26", }, {"type": "multi", ]} ] } } |
|---|
URLs and accounts
INTEGRATION | TEST (=UAT = PRE-PRODUCTION) | PRODUCTION | ||
Sinequa URL Rest | http://product-documentation-search-test.solvay.com:8088/xrest | http://product-documentation-search-test.solvay.com:8088/xrest | ||
URL for test display (html) | http://product-documentation-search-test.solvay.com:8088/search?profile=XXX | http://product-documentation-search-test.solvay.com:8088/search?profile=XXX | http://product-documentation-search.solvay.com:8088/search?profile=XXX | |
login (used by Webmethod) | EUA\Wsinequa | EUA\Wsinequa | EUA\Wsinequa (used by Webmethod) | |
| Webmethod | https://b2bsim.solvay.com:443/rest/SolvayDocumentation/output/webservice/searchDocuments | https://b2bsim.solvay.com:443/rest/SolvayDocumentation/output/webservice/searchDocuments | https://b2b.solvay.com:443/rest/SolvayDocumentation/output/webservice/searchDocuments | |
| Login Webmethod (used by salesforce) | salesforcecrm / salesforcecrm | salesforcecrm / salesforcecrm | salesforcecrm / ****** (ask password to Webmethod team or salesforce team) |
Profiles created for Salesforce
| Use | INTEGRATION | TEST | PRODUCTION | Comment |
get SDS (docbase RCSEHS) | DCT_RCSEHS_SDS_CEP_INT | DCT_RCSEHS_SDS_CEP_TEST | DCT_RCSEHS_SDS_CEP | |
| get certificates (docbase RCSEHS) | DCT_RCSEHS_CERTIFICATES_CEP_INT | DCT_RCSEHS_CERTIFICATES_CEP_TEST | DCT_RCSEHS_CERTIFICATES_CEP | |
| get RDS (docbase RCSEHS) | DCT_RCSEHS_RDS_CEP_INT | DCT_RCSEHS_RDS_CEP_TEST | DCT_RCSEHS_RDS_CEP | Only Novecare |
| get TDS (docbase RCSDOC) | DCT_RCSDOC_TDS_CEP_INT | DCT_RCSDOC_TDS_CEP_TEST | DCT_RCSDOC_TDS_CEP | Only Novecare Not used ? |
| get TDS, Statement & Brochure (docbase FAST) | DCT_FAST_PRODOC_CEP_INT | DCT_FAST_PRODOC_CEP_TEST | DCT_FAST_PRODOC_CEP |
Postman configuration example
SSL for Sinequa's IIS
Folder for SSL generated
Pre-requisite:
- Make sure your computer has OpenSSL installed or go to WDCISWD21 server.
- Get the files generated previously from the link provided "Folder for SSL generated" above.
- Read up on the article - Setup a SAN SSL Certificate for Intranet Application.
Adding/Removing domains from the SSL
- Update the "[ alt_names ]" within sinequa-test.cnf or sinequa-prod.cnf file.
- Execute the "generateCSR.bat" to generate the sinequa-test/prod.csr
- Send the CSR to ad.operations@solvay.com team to get the signed CSR.
- You will receive the signed CSR as .cer file.
- Execute the "convertCERtoPFX.bat" to convert the .cer to .pfx file.
You will be asked to enter the password for encoding the key into this .pfx. Use "Solvay". - Install the pfx into the IIS and bind the port 443 and 8085 with this cert.
- No need to restart the IIS.
Test Environment SSL Location
I:\SSL\
Prod Environment SSL Location
<TBD>
WERCS
In the AWS FSX folder \\amznfsxv6cy69eg.eua.solvay.com\share\WERCS, 182362 SDS are stored for archive purpose. These files were indexed one time and can be search in the https://ehs-all-search.solvay.com/ interface.
The files must be kept in the index. No need to reindex them.
If you want to reindex them (after Syensqo migration), you need to start the connector of the the collection /AWS FSX/WERCS/
Then you have to run the script F:\works\wercs\sql\execute.bat in order to update metaproperties.
Redirection page redirect.aspx
The redirect page redirect.aspx has been created in the folder D:\sinequa\website\
The page is used to search and open directly the document if there is only one document found. This page can be inserted in the intranet to avoid to manage internal id of the xECM documents (EHS interface).
This link is used in this file: in order to give direct access to the SDS for plant users.
by SE•Environnement 1 | GBU AROMA PERFORMANCE•SPECIALTY OPERATIONS
Contact: lea.vanengelandt@syensqo.com
Source code of redirect.aspx:
| <%@ Page Language="VB" Debug="true" %> 'Ex: 'Will open directly the SDS after an API call to get Url
Dim UrlIfNotfound 'oxo\SVC-000492 + pwd generated in postman
'response.end Dim rho_sds_dh_repstatus = "" Dim rho_sds_rh_specification = "" Dim language = "" Dim bodytemplate = "{" + vbCrlf webRequest = DirectCast(WebRequest.Create(ServerSinequaAPI), HttpWebRequest) webRequest.ContentLength = body.Length
webResponse = DirectCast(webRequest.GetResponse(), HttpWebResponse) Dim s1 = "[""url1""]" Dim url1 ="" if(p1 > 0) then </p> <p style="text-align:center;"> Please search with <a href="<%response.write(UrlIfNotfound)%>"><%response.write(UrlIfNotfound)%> <br>
<script> window.location.href = '<% response.write(url1)%>'; <% end if %> |
|---|
From the following link:
you can create the following link:
http://ehs-search.solvay.com/redirect.aspx?text=&advanced=1&precision=&strategy=&sort=globalrelevance.desc&after=&before=&docformat=&phonetics=1&fuzzysearch=1&sourcestr4=&sourcestr12=sds+for+france&sourcescsv3=&sourcecsv2=&sourcestr7=&sourcecsv1-0=fr+%28french%29&sourcecsv1-1=&sourcestr8=&sourcestr9=&sourcestr10=&sourcestr15=&sourcecsv20=81770
Anti-virus
It's important that the directory of the indexes (E:\Sinequa\indexes) and the temp folder ( F:\Sinequa\Temp ) are excluded of the scope of the anti-virus.
Tips
Add email in the target link
To add the email in the target link to the document change this line in this Profile / Display:
Force reindexation for all documents in a collection
Force Indexing on the whole Collections
If the collection has a lot of documents (like EHS), the reindexation process will take days to complete. If possible, don't reindex the whole collection if there are many documents to be reindexed.
Remember to uncheck the box "Force re-indexing" after usage.
You can force the reindexation for all documents in a collection by checking on the "Force re-indexing" in the Collection setting.
Force reindexation for some documents (for not forced reindexation)
You can force the reindexation by changing the value of the field version (backdate the document):
update idx_documentum set version = '1980-01-01'
where collection = '/Documentum/rcsehs/'
and (
filename = 'BBE23952BED08A59E10000000A8F7698.doc'
or filename = '10E53952BED08A59E10000000A8F7698.doc' )
During the next indexation the documents will be processed.
Known issues
2 profiles affected to the same sub-domain
It's important that a sub-domain (ex: magda-search.solvay.com) is affected to only one profile. If not, when you will access to the sub-domain the interface displayed will be randomly one of the tow profiles.
This problem can happen easily when you make a copy of an existing profile to create a new one.
Engine can not start
If the engine can not start open the engine log.
If there is a message like this FATAL: index 'idx_XXX' was not cleanly stopped it means that the index is corrupted.
The only solution is to delete the index (E:\Sinequa\indexes\idx_XXX.hdb) and restart the engine.
You need to create the index and index the collections linked to this index.
This issue can occur if the engine is not correctly stopped (crash server).
Files in "D:\sinequa\temp" folder are not cleared.
The files in the temp folder is cleared at a regular interval set in the node page. If no value is set, the files will only be cleared in 3 hours interval.
Diagnostic a problem
The main issue is that an user call the support to say that he can't see a particular document in Sinequa. For this issue there is two explications: the document was not indexed or the user don't have right to see the document.
Here's the way to diagnostic the problem:
Get from the user the id, the title of the document and its treepath (the Sinequa folder where the document should be) .
Determine in which index it should be (idx_Documentum,...).
Make a request with the ConsoleEngine tool.
For example:
| Request | Description |
|---|---|
| select * from idx_Documentum where treepath contains '/Documentum/RCSEHS/EHS/SDS/BU-01/R&D/*' limit 30 | List the 30th documents of the treepath /Documentum/RCSEHS/EHS/SDS/BU-01/R&D/ if the index idx_Documentum |
| select * from idx_Documentum where filename = 'B9F9414D78DB3226E10000000A8F7697.doc' | List the document which has a filename equal to B9F9414D78DB3226E10000000A8F7697.doc |
If the document have not been found it can be be explained by these reasons:
- the document was not in the original application => check in the application
- the document was not indexed by Sinequa because an exclusion rules => check in the collection configuration the tab General (last section)
Identify the right of the users on Sinequa:
If the document is in the index you have to check the access.
Get the AD id of the user in the file E:\sinequa\data\configuration\domains\Rhodia_AD\<AD name>\content.xml
<AD name> can be one of these values: br-spo, fr-rhodia, sg_rhodia or us-crn
Use this URL to see the effective rights of the user:
https://sinequa-prod.syensqo.com/ custompage?action=userrights&id=Rhodia_AD| <AD ID>
(The Rhodia ID is like that S-1-5-21-2074683374-75502006-538272213-79994)
Compare the date of ACL change in the indexed application with the last date of importation of accounts in Sinequa. If the change have been made after the import start the job of importation of accounts (domain).
Check if the user is in the file of the domain associated to the collection. Open the file E:\sinequa\data\configuration\domains\<domain name>\content.xmland look at his name.
You must find the user and the groups that he belongs. Compare with the ACL of the application => make a request to get the fields accesslist1, accesslist2 and deniedlist1 and compare with the ACL of the user.
See the debug variables of Sinequa:
Sinequa provide a page to see all the variables for debugging purposes.
https://sinequa-prod.syensqo.com/requestdebug
https://sinequa-test.syensqo.com/requestdebug
Enable RequestDebug feature:
Maintenance
Stop the application on the Sinequa server
- stop the WWW Publishing service
- stop the Sinequa.identity1 service
- stop the Sinequa.service service
Start the application on the Sinequa server
- start the Sinequa.identity1 service
- start the Sinequa.service service
- start the WWW Publishing service
Issues
Tasks are not launched (scheduler)
Stop Sinequa services (not IIS)
Delete the content of the folders D:\sinequa\locla-data & D:\sinequa\locla-data-8080
Restart the Sinequa services
Not able to access Sinequa with Windows (NTLM / KERBEROS) (no longer used)
Symptoms:
- When accessing the administration page, you are redirected to login page.
- When searching on the search page, no result are return.
What to do:
- Stop IIS service.
- Start IIS service.
Cause:
- The scheduled recycling of the application pool in IIS will occasionally caused the Sinequa to use another WebApp (due to the load-balancing).
- The swapped WebApp does not support NTLM authentication. Resulted to user being redirected to the login page.
Resolution:
- Introduced a script to monitor on the "Sinequa WebApp Name" displayed on the /requestdebug page.
- To know more about the script, you can read this wiki.
Logs
The directories of the logs is cleaned automatically by an Infra script. Only the last 10 days are kept.
In case the infra script is not running, perform the following:
- Inform Infra (Data centre team) to investigate on the issue.
Manually run the cmd which can clear 7 days of log files.
Command to clear the log filesforfiles -p "F:\SinequaLog" -s -m *.log -D -7 /C "cmd /c del @path"
Shrink of the indexes
Every week the index files have to be reorganize (shrink).
A command is scheduled.
Jobs control
Tasks status
In the Tasks Status you can see the list of all scheduled tasks with the status (Column Result). The link Log show you the report of the job.
Backup & restoration of the indexes
The files of the servers Sinequa are saved every day like all Rhodia's servers.
To have a valid backup of the folder of the indexes G:\sinequa\indexes the service Sinequa must be stopped during the backup.
However, the Sinequa command Backup can create a valid copy of the index.
Every night, the scheduled command backup (Job Backup indexes) copies the folder of the indexes in the folder G:\sinequa_indexes_dump
There is one subfolder for each index (<name of the index> + ".hdb").
To restore one index you must :
- check that the folder G:\sinequa_indexes_dump\<name of the folder>.hdb exists
- stop the Sinequa services
- delete the folder G:\sinequa\indexes\<name of the folder>.hdb
- copy the folder G:\sinequa_indexes_dump\<name of the folder>.hdb into the folder G:\sinequa\indexes\<name of the folder>.hdb
- start the Sinequa services
After, you can restart the indexation to have fresh data.
Tasks
| Task | Who can do it | Comment |
|---|---|---|
| Check the indexation | Sinequa administrator | Check the log files every day |
| Create a new collection | Sinequa administrator | Configure a new collection and a new partition |
| Update the software | Sinequa administrator | Make it the test server first and test If test ok make it on the production server |
| Diagnostic a problem | Sinequa administrator | See the diagram |
Deployment from test server to production server
All configuration settings are stored in xml files (E:\Sinequa\data\configuration).
There are different ways to apply changes on the production server.
- Use the administration interface only
- Copy the xml files from test to production and change data in files
- Copy the xml files from test to production and change data with the administration interface
Note that if you change or add an xml files you will not see the change in the administration interface. To see them you have to make pseudo change (like a Unix touch) in the administration interface. For example go to menu Global options, click on the button and click on the Save button.
The best way to get IT support is to use the new
Service One Platform.














































