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
crazy_diamondAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

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

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Web Servers

From novice to tech pro — start learning today.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.