[Okta Webinar] Learn how to a build a cloud-first strategyRegister Now

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 220
  • Last Modified:

Problems Displaying Verity Collection Items After Search

I posted a message earlier about the Verity Collection problems i was having.  I have tried another way and I now have a different problem!

At the top of my search I have the following value:
5 advertisement(s) matched your query.

This obviously means that the search has found records matching the criteria i entered.  However the search refuses to display the results and i get this error:

Variable EXPIRYDATE is undefined.

you can replace the variable EXPIRYDATE with any of the table variables in my database - it's all the same.

here is my code:

<cfsearch collection="adVerityCollection" name="findAds" criteria="#keywords#">
      <CFIF findads.RecordCount GT 0>
      <CFoutput query = "findAds">
      <B>#findads.RecordCount#</B> advertisement(s) matched your query.
            <P>
            <a href="advertdetails.cfm?adnum=#key#">#expirydate#</a><BR>
      </CFOUTPUT>
      <CFELSE>
      Sorry, No records were returned from your request.
      </CFIF>

here is the code which i used to update the verity collection:

 <cfquery name="get_db_info" datasource="advertisements">
      select *
       from ads
  </cfquery>

<cfindex query="get_db_info"
            collection="adVerityCollection"
            action="update"
            type="custom"
            key="adnumber"
            title="adverttitle"
            body="sellername, adverttitle, emailaddress, dateentered, expirydate, advertisementcontents, category, region">

  Your Collection has been updated.

------

The collection updates without any problems and as i said earlier the search is obviously finding records matching the entered criteria - it's just that it doesnt display any of the fields which are in the database table which i thought i had set up correctly with the update verity code.

Cheers
0
crazy_diamond
Asked:
crazy_diamond
1 Solution
 
proceptCommented:
Hi,

with verity seaches you can only output the verity fields, not the DB fields. The verity fields usually are
CUSTOM1, CUSTOM2, KEY, RECORDSSEARCHED, SCORE, SUMMARY, TITLE, URL.

To use the custom fields, you can assign field names to the custom attributes (here I moved the expirydate from the body to custom field 1):

<cfindex query="get_db_info"
            collection="adVerityCollection"
            action="update"
            type="custom"
            key="adnumber"
            title="adverttitle"
            body="sellername, adverttitle, emailaddress, dateentered, advertisementcontents, category, region"
            custom1="expirydate">

But, custom fields are not searched in simple queries! If you want to search for the expirydate, you must have it in body, too.

HTH,

Chris


0

Featured Post

Prep for the ITIL® Foundation Certification Exam

December’s Course of the Month is now available! Enroll to learn ITIL® Foundation best practices for delivering IT services effectively and efficiently.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now