Gravatar for dmarkovic@socialthinking.com

Question by Darko Markovic, Nov 4, 2015 3:09 PM

No Results but string exist in index fields

Hi All,

I am trying to search following string: The Brain Injury Recovery Program

REST service does not return any results

{
  "totalCount" : 0,
  "totalCountFiltered" : 0,
  "duration" : 26,
  "indexDuration" : 10,
  "requestDuration" : 25,
  "searchUid" : "d2ecafd1-6a5b-4f5c-982a-b3df69d8f8bb",
  "termsToHighlight" : {
    "pathology" : [ "pathological" ],
    "at" : [ ],
    "oklahoma" : [ ],
    "state" : [ "stated", "states", "stating" ],
    "university" : [ "universal" ]
  },
  "phrasesToHighlight" : { },
  "queryCorrections" : [ ],
  "groupByResults" : [ ],
  "results" : [ ]
}

But searching Fields in CES i found some String fields which contains requested string.

2 Replies
Gravatar for jflheureux@coveo.com

Answer by Jean-François L'Heureux, Nov 5, 2015 3:05 PM

Hi,

Your query to CES is a free-text query as we call it because it doesn't contain any field name and operator.

Terms of free-text queries in CES are matched against the URL, title, body (binary data) of the indexed documents and their fields marked as "Free text queries".

The body of the indexed documents is optional. In the index browser of CES, if your documents have a "Cached" link under them, you have a body. If this link is not present, your documents don't have a body so only their URL, title and free-text fields are searchable from free-text queries.

You mentioned that some fields on your documents contained the text you searched for. I guess that those fields are not marked as "Free text queries" in their field set. That's the reason why those documents are not returned by CES.

If you use Coveo for Sitecore, you can enable free-text queries on fields by adding the includeForFreeTextSearch="true" attribute to your fields in the Coveo.SearchProvider.config file (see Making a Sitecore field free-text searchable).

I hope this helps,

Jeff

Gravatar for dmarkovic@socialthinking.com

Comment by Darko Markovic, Nov 5, 2015 3:20 PM

Hi Jeff,

I tried to add following line to my Coveo.SearchProvider.config file

 <fieldType fieldName="about" includeForFreeTextSearch="true" settingType="Coveo.Framework.Configuration.FieldConfiguration, Coveo.Framework" />

But it does not return any result again.

Gravatar for jflheureux@coveo.com

Comment by Jean-François L'Heureux, Nov 5, 2015 3:32 PM

Did you rebuild your Sitecore indexes after doing the modification to the Coveo.SearchProvider.config file? It is needed for 2 reasons:

  1. Sitecore synchronizes the configuration with CES at the beginning of each indexing operation.
  2. CES need to re-index the values of this field to store the words contained in this field values in his lexicon of words that are free-text searchable.
Gravatar for dmarkovic@socialthinking.com

Comment by Darko Markovic, Nov 5, 2015 4:30 PM

Thank you Jeff,

add new line in Coveo.SearchProvider.config file and rebuilding indexes fix my problem.

Gravatar for slangevin@coveo.com

Answer by Simon, Nov 5, 2015 2:47 PM

Hi, Are you hitting the REST directly via querystring in the browser or in AJAX? Or you are searching in a search interface using the REST?

If you are using a search interface. Looking at the Network tab in the browser Tools should show a POST request to the REST endpoint. The header of that request will show the attributes of the query:

q (expression)
aq (advanced expression)
cq (constant expression)

Advanced and Constant are invisible on the search interface and might contain filtering that prevent your query from returning content, so try these filters in the Coveo Index Browser: https://onlinehelp.coveo.com/en/ces/7.0/administrator/administrationtool-indexbrowser_menu.htm

Another thing to look at is the Security of the Document, still in the index browser, you can see the permissions by clicking on the Details>>Permissions tab of your items.

Make sure it matches the user performing the query in the CES Console: https://onlinehelp.coveo.com/en/ces/7.0/administrator/usingtheces_console.htm

Cheers,
Simon

Gravatar for dmarkovic@socialthinking.com

Comment by Darko Markovic, Nov 5, 2015 3:07 PM

Hi Simon,

Thank you for answer.

I am hitting the REST directly via querystring in the browser.

Also I made searching in CES Administration Tool (Content -> Index Browser) and searching string "The Brain Injury Recovery Program" does not return any result.

But when I am searching another Item (Beckham Linton) in fields @fabout26721 Type String contains string "The Brain Injury Recovery Program"

I do not know how to attach image on this answer (choose from my file system does not work).

Gravatar for slangevin@coveo.com

Comment by Simon, Nov 5, 2015 4:19 PM

See the answer from jflheureux. Your field would need to be free text queriable

Ask a question