How to get a record deleted from Endeca Index using Record Manipulator

72 views Asked by At
I have a test case in endeca in which I have to drop record if a particular word is present in one Url attribute of a record.
E.g: URL: www.abc.com/tree/temp/circle/hello/....

I need to check if word "temp" is present in url attribute then that record should be dropped from getting indexed. I am using below code in Record Manipulator but seems some issue because of which it is not working

    <EXPRESSION LABEL="" NAME="REMOVE" TYPE="VOID" URL=""> 
    <EXPRESSION LABEL="" NAME="IF" TYPE="VOID" URL="">      
    <EXPRESSION LABEL="" NAME="MATH" TYPE="INTEGER" URL="">
    <EXPRNODE NAME="TYPE" VALUE="STRING"/>
    <EXPRNODE NAME="OPERATOR" VALUE="CMP_SUBSTR"/>
    <EXPRESSION LABEL="" NAME="IDENTITY" TYPE="PROPERTY" URL="">
    <EXPRNODE NAME="PROP_NAME" VALUE="URL"/>   
     </EXPRESSION>
    <EXPRESSION LABEL="" NAME="CONST" TYPE="STRING" URL="">
    <EXPRNODE NAME="VALUE" VALUE="temp"/>
    </EXPRESSION>
    </EXPRESSION>
    <EXPRESSION LABEL="" NAME="REMOVE_RECORD" TYPE="VOID" URL=""/> 
    </EXPRESSION>
    </EXPRESSION>
    </EXPRESSION>

Record is still showing up in index. Help me to understand where I am getting this wrong. Why it is not working?

1

There are 1 answers

0
SJRL On

If you decide to write a CAS Java based manipulator you can do it pretty easily. There are examples available if you install them during the CAS install phase.

In the example the records are output via mOutputChannel.output(record).

You can easily set a boolean in the delete case and then that records is passed over by the output phase of the manipulator.

if (output_record)
{
    mOutputChannel.output(record);
}