Open topic with navigation

# Customize the Output

The `CategorySuggestFromText` Lua script creates the following document fields by default:

Field name | Value
--- | ---
`category_title` | The name of the category.
`category_id` | The ID of the category in IDOL Server.
`category_reference` | The `DREREFERENCE` of the category, stored as a document in the Agentstore.

The script adds one value to each field for each category that matches the document. For example:

    #DREFIELD category_id="200"
    #DREFIELD category_id="100"
    #DREFIELD category_reference="200"
    #DREFIELD category_reference="100"
    #DREFIELD category_title="Science"
    #DREFIELD category_title="BusinessNews"

To modify how the information is added to the document, customize the Lua script. For example, to change the names of the fields, modify the first argument of the `addField` method on lines 211 to 213:

    document:addField("category_name", category["title"])
    document:addField("category_ref", category["reference"])
    document:addField("category_id", category["id"])

To add only the category names, remove lines 212 and 213:

    document:addField("category_title", category["title"])
    -- document:addField("category_reference", category["reference"])
    -- document:addField("category_id", category["id"])

To add all of the category information to a single field, using subfields, you could modify the script as follows (replacing lines 207-219):

    if(suggestWasSuccessful) then
       local suggestedCategories = parseCategories(output)

       document:addField("category", "category information")
       local field = document:getField("category")
       for i, category in ipairs(suggestedCategories) do
    	field:addField("title",category["title"])
           field:addField("reference",category["reference"])
           field:addField("id",category["id"])
       end

       document:setFieldValue("result", output)

       return true
    end

To add all of the category names to a single field as a comma-separated list, you could modify the script as follows (replacing lines 207-219):

    if(suggestWasSuccessful) then
       local suggestedCategories = parseCategories(output)

       local names=""
       for i, category in ipairs(suggestedCategories) do
    	if i==1 then
    	   names = category["title"]
    	else
              names = names .. "," .. category["title"]
    	end
       end

       if names~="" then
          document:addField("category_names_CSV", names)
       end

       document:setFieldValue("result", output)

       return true
    end

© Copyright 2019 Micro Focus or one of its affiliates | Send documentation feedback Close Send documentation feedback To open the configured email client on this computer, open an email window. Otherwise, copy the information below to a web mail client, and send this email to swpdl.idoldocsfeedback@microfocus.com. We appreciate your feedback! Product: Topic Title: Help Topic: Feedback:

_FT_HTML5_bannerTitle.htm