Академический Документы
Профессиональный Документы
Культура Документы
®
Outside In SearchML © 1992-2005 Stellent Chicago, Inc. All rights
reserved.
®
Rosette Globalization Platform Portions Copyright © Basis
Technology Corp. 2003-2005. All rights reserved.
Trademarks
Don't Stop At Search, Endeca, Endeca InFront, Endeca Navigation
Engine, Guided Navigation, and ProFind are registered trademarks, and
Endeca Data Foundry and Endeca Latitude are trademarks of Endeca
Technologies, Inc.
Preface
About This Guide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xvi
Who Should Use This Guide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xvi
Symbols and Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xvi
Endeca Documentation Set. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xvii
Contacting Endeca Standard Customer Support . . . . . . . . . . . . . . . . xx
PRIV_KEY_PATH Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
Authenticating with a Microsoft Exchange Server . . . . . . . . . . . . 98
EXCHANGE_SERVER Element . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
Authenticating with a Proxy Server . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
PROXY Element . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
Using Forge to Encrypt Keys and Pass Phrases . . . . . . . . . . . . . . . . 100
Encrypting a Username/Password Pair . . . . . . . . . . . . . . . . . . . . 101
Encrypting a Pass Phrase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
Index
Preface
Italic text may also indicate new terms that appear in the
Endeca Glossary.
Redundant URLs
Links to
more
URLs
Document text
Title
Record adapter of
type Document
Record manipulator
Spider
• Endeca.Fetch.ConnectTimeout
• Endeca.Fetch.TransferRateLowSpeedLimit
• Endeca.Fetch.TransferRateLowSpeedTime
• Endeca.Fetch.Proxy
• Endeca.Fetch.UserAgent
• For PARSE_DOC:
Creating a Spider
To create a spider:
1. In the Project tab of Developer Studio, double-click
Pipeline Diagram.
2. In the Pipeline Diagram editor, choose New > Spider.
The New Spider editor displays.
3. In the Name box, type a unique name for the spider.
This should be the same name you specified as the
value of URL_SOURCE when you created the record
adapter.
4. If you want to limit the number of hops from the root
URL (specified on the Root URLs tab), enter a value in
the Maximum hops field. The Maximum hops value
specifies the number of links that may be traversed
beginning with the root URL before the spider reaches
the document at a target URL. For example, if
http://www.endeca.com is a root URL and it links to a
document at http://www.endeca.com/news.html, then
http://www.endeca.com/news.html is one hop away
from the root.
On the Root URLs tab, you provide the starting points for
the spider to crawl. Each root URL must have a scheme of
file, http, or https. The URL must be absolute and well
formed. A useful URL reference is available at
http://www.w3.org/Addressing/URL.
http-post://web01.qa:8080/qa/post/NavServlet?arg0=foo&arg1=bar$link=1/3
When you run the pipeline, the spider validates each root
URL, checks whether or not the URL passes the
appropriate filters, including the site’s robots.txt
exclusions (if the Ignore Robots checkbox is not set). If a
root URL is invalid or does not pass any of the filters an
appropriate message is logged.
Specifying Timeouts
To specify timeouts:
7. Click OK.
3. In the Port text box, type the port number that the
proxy server listens to, for HTTP URL requests from
the spider.
4. In the Host text box of the HTTPS Proxy server frame,
type the name of the proxy server.
5. In the Port text box, type the port number that the
proxy server listens to, for HTTPS URL requests from
the spider.
6. If you want to bypass the specified proxy server for a
URL, click the Bypass URLs button. The Bypass URLs
editor displays.
7. Type the name of the host you want to access without
the use of a proxy server and click Add. Repeat this
step as necessary for additional URLs.
8. Click OK on the Bypass URLs editor.
9. Click OK on the Spider editor.
10.From the File menu, choose Save.
Record
Manipulator
To use this key ring file, you specify its location via the
third argument of the RETRIEVE_URL expression in the
Forge crawler pipeline, which is used to fetch URLs from
the targeted Web server, as shown below (the relevant
line is in boldface):
<EXPRESSION TYPE="VOID" NAME="RETRIEVE_URL">
<!-- this expression generates a filename for
the retrieved file: -->
<EXPRESSION TYPE="STRING" NAME="CONCAT">
<EXPRESSION TYPE="STRING" NAME="CONST">
<EXPRNODE NAME="VALUE" VALUE="&cwd;"/>
</EXPRESSION>
<EXPRESSION TYPE="STRING" NAME="DIGEST">
<EXPRESSION TYPE="PROPERTY" NAME="IDENTITY">
<EXPRNODE NAME="PROP_NAME" VALUE="Endeca.Identifier"/>
</EXPRESSION>
</EXPRESSION>
</EXPRESSION>
<!-- this expression node specifies the path to the
key ring file: -->
<EXPRNODE NAME="KEY_RING" VALUE="key_ring.xml"/>
</EXPRESSION>
KEY_RING Element
SITE Element
HOST Attribute
PORT Attribute
If the target site is not accessed via the default port for all
relevant URL schemes, the PORT attribute can be used to
specify the port explicitly. If the PORT attribute is
unspecified, the default port for each access scheme
specified will be used.
HTTP Element
REALM Element
KEY Element
CA_DB Element
HTTPS Element
AUTHENTICATE_HOST Attribute
<HTTPS AUTHENTICATE_HOST="FALSE"/>
CERT Element
PATH Attribute
PRIV_KEY_PATH Attribute
EXCHANGE_SERVER Element
PROXY Element
For example:
controller.jsp?N=0&Nu=Winery
controller.jsp?An=0&A=32905&Au=Winery
controller.aspx?A=7&An=123&Au=ssn
For example:
dim nav
set nav = qr.getNavigation()
' Get total number of aggregated records that matched the query
dim nAggrRecs
set nAggrRecs = nav.GetTotalNumERecs()
' Get the aggregated records from the Navigation object
dim aggrecs
set aggrecs = nav.GetAggrERecs()
' Loop over aggregated record list
For i = 1 to aggrecs.Count
' Get individual aggregate record
dim aggrec
set aggrec = aggrecs(i)
' Get number of records in this aggregated record
Dim recCount
recCount = aggrec.GetTotalNumERecs()
' Get the Aggregated Record's Specifier, Property Map,
' List of Records, and Representative Record
dim aggrSpec
set aggrSpec = aggrec.GetSpec()
dim aggPropsMap
set aggPropsMap = aggrec.GetProperties()
dim recs
set recs = aggRec.GetERecs()
dim repRec
set repRec = aggrec.GetRepresentative()
Next
However, if you do not want all the key values, you can
control the characteristics of the records returned by
navigation queries by using the Select feature.
You set the selection list on the ENEQuery object with the
setSelection() method, which has this syntax:
ENEQuery.setSelection(FieldList selectFields)
OR(AND(Manufacturer:Sony,1001),
AND(Manufacturer:Aiwa,NOT(1002)),
Manufacturer:Denon)
FILTER(MyFilter)
AND(FILTER(MyFilter),NOT(Manufacturer:Sony))
OR(AND(Manufacturer:Sony,1001),
AND(Manufacturer:Aiwa,NOT(1002)),
Manufacturer:Denon)
AND(FILTER(MyFilter),NOT(Manufacturer:Sony))
N=0&Nr=FILTER(MyFilter)
Sample Queries
<application>?N=0&Nr=FILTER(MyFilter)
<application>?A=2496&An=0&Ar=OR(10001,20099)
<application>?D=Hawaii&Dn=0&Dr=NOT(Subject:Travel)
Memory Cost
Expression Evaluation
Because expression evaluation is based on composition
of indexed information, most expressions of moderate
size (that is, tens of terms/operators) do not add
significantly to request processing time.
Record Filters
Memory Cost
Expression Evaluation
Large-scale Negation
How do you modify Any changes to the dimension You generally do not update
or update the must be made in third-party the source file for the hierarchy
hierarchy after it is in tool. You then export the after you import it into your
the project? taxonomy from the tool, and project. If you do update the
Forge transforms the taxonomy file and re-import, then any
and re-integrates the changes changes you made to the
into your project. dimension using Developer
Studio are discarded.After you
import the hierarchy, you can
modify a dimension just as if
you created it manually using
Developer Studio.
How does Developer The third-party tool that created After you import the file,
Studio manage the the file retains ownership. The Developer Studio takes full
hierarchy? dimension is almost entirely ownership of the dimension
read-only in the project. You and its dimension values. You
cannot add or remove can modify any characteristics
dimension values from the of the dimension and its
dimension. However, you can dimension values.
modify whether dimension
values are inert and collapsible.
How do you create Created using a third-party tool. Created either directly in an
the .xml file? .xml file or created using a
third-party tool.
XML Requirements
When you create an external dimension-whether by
creating it directly in an .xml file or by transforming it
from a source file—the dimension must conform to
Endeca’s external_dimensions.dtd file before you import
it into your project. External_dimensions.dtd defines
Endeca-compatible .xml used to describe dimension
hierarchies in an Endeca system. This file is located in
%ENDECA_ROOT%\version\conf\dtd on Windows and
$ENDECA_ROOT/version/conf/dtd on UNIX.
<external_dimensions>
<node id="1" name="color" classify="true">
<node id="2" name="red" classify="true"/>
<node id="3" name="blue" classify="true"/>
</node>
</external_dimensions>
Node ID Requirements
How do you modify Any changes to the dimension You generally do not update
or update the must be made in third-party the source file for the hierarchy
hierarchy after it is in tool. You then export the after you import it into your
the project? taxonomy from the tool, and project. If you do update the
Forge transforms the taxonomy file and re-import, then any
and re-integrates the changes changes you made to the
into your project. dimension using Developer
Studio are discarded.After you
import the hierarchy, you can
modify a dimension just as if
you created it manually using
Developer Studio.
How does Developer The third-party tool that created After you import the file,
Studio manage the the file retains ownership. The Developer Studio takes full
hierarchy? dimension is almost entirely ownership of the dimension
read-only in the project. You and its dimension values. You
cannot add or remove can modify any characteristics
dimension values from the of the dimension and its
dimension. However, you can dimension values.
modify whether dimension
values are inert and collapsible.
How do you create Created using a third-party tool. Created either directly in an
the .xml file? .xml file or created using a
third-party tool.
After you finish the tasks listed above, you can perform
additional pipeline configuration that uses the externally
managed dimension, and then run a second baseline
update to process and tag your Endeca records.
Note: You must set up and use the Endeca Manager in projects
that incorporate an externally managed taxonomy.
XSLT Mapping
Pipeline Configuration
The following sections describe the pipeline
configuration requirements to incorporate an externally
managed taxonomy into your Developer Studio project.
Note: To reduce processing time for large source data sets, you
may want to run the baseline update using the -n flag for
Forge. (The -n flag controls the number of records processed in
a pipeline, for example, -n 10 processes ten records.) You can
specify the flag in the Forge field of the Endeca Manager
Settings dialog box.
Building a Taxonomy
Exporting a Taxonomy
To export a taxonomy:
Creating a CAS
To create a CAS:
Record manipulator
with STRATIFY
expression
• Endeca.Stratify.Topic.Topic.Name.HID<hierarchy
ID>.TID<topic ID>=<topic name>
Note: To reduce processing time for large source data sets, you
may want to run the baseline update using the -n flag for
Forge. (The -n flag controls the number of records processed in
a pipeline.) You can specify the flag in the Forge field of the
Endeca Manager Settings dialog box.
Note: You must set up and use the Endeca Manager to view
dimensions and dimension values in Developer Studio. If you
choose to use Developer Studio in standalone mode for pipeline
development, you can run Forge by hand to transform your
taxonomy and create a dimensions.xml file containing the
Endeca dimensions for your taxonomy. However, you will not
be able to view the dimensions in the Dimensions view without
the Endeca Manager.
After you load the dimension values, you will notice that
each dimension value has two synonyms. One synonym
is the name of the dimension value used for display in an
application, and the second synonym is an ID required
for dimension value mapping. You should not modify
these synonym values.
Note: If you ran the first baseline update with the Forge -n flag,
you should delete the flag before running the second baseline
update.
Overview
The constituent components of a Forge pipeline tend to
generate large log files. When all of these log messages are
directed to a single log file, key messages are less easily
accessed and often overlooked in the sheer number of
messages.
Log Levels
• STAT—status messages.
• WARN—warning messages, which indicate that
processing will continue, but the component output
may not be as expected.
• ERR—error messages, which indicate a deviation from
normal processing.
• FTL—fatal messages, which indicate a serious problem
that may cause the issuing component to stop
functioning.
DEBUG
VERBOSE
INFO STAT
WARN ERR
FTL
Message Category
RecordPipeline
Pipeline
Edf
DimensionPipeline
Log Appenders
logger=Edf.Pipeline.RecordPipeline.Spider;class=str
eam;file;
name= spider.log;level=INFO
logger=Edf.Pipeline.RecordPipeline.Spider.mySpider;
class=stream;file;
name=myspider.log;level=DEBUG
The first line specifies the version of the log.ini file format
in use. The next two lines map message groups to log
appenders.
<first-line>
<line>
version-num <digits>.<digits>
digits 0|1|2|3|4|5|6|7|8|9
logger logger=<logger-name>;<appender-list>
appender-list <appender-info> |
<appender-info>;<appender-list>
appender-info class=<appender-class>[;compression-info][;
level-info>][;format-info>]
appender-class stream;<appender-stream> |
unique-stream;<appender-stream>
compression-info compression=<compression-level>
level-info level=<log-level>
format-info format=<format-option>
Compression-level -1|0|1|2|3|4|5|6|7|8|9
file;name=match.txt;level=DEBUG;format=bare
logger=Edf.Pipeline.Expression.MustMatch;class=
unique-stream;
file;name=match.txt.stats;level=DEBUG;format=
bare-counted
file;name=colors.log;level=DEBUG;format=bare
logger=Edf.Pipeline.Expression.MustMatch.Color;clas
s=unique-stream;
file;name=colors.log.stats;level=DEBUG;format=
bare-counted
You can add the following line to the log.ini file to log
all MatchCount messages:
logger=Edf.DimensionPipeline.DimensionServer.DimServ
erName.MatchCount;class=stream;file;name=matchCount.
log;level=DEBUG;format=bare
VERSION=00.02
# log edf messages of level INFO or less to stdout
logger=Edf;class=stream;cout;level=INFO
# log all edf messages to a file named Edf.log
logger=Edf;class=stream;file;name=Edf.log;level=DEBUG
# log pipeline messages of level INFO or less to pipeline.log
logger=Edf.Pipeline;class=stream;file;name=pipeline.log;level=INFO
E df
P ipeline
Dimens ionS erver Dimens ionAdapter NavC onfigS erver NavC onfigAdapter NavC onfigAs s embler
E xpres s ion
ins tance name ins tance name ins tance name ins tance name ins tance name
R ecordP ipeline
ins tance R ecord ins tance name ins tance name ins tance name ins tance name ins tance name ins tance name
name J oin
F ilter
For example:
--threads 4
Linux
Solaris
Windows
the rule results in an area of the screen set aside for “Best
Buy” records. These are the promoted records.
Incremental Implementation
A zone has a rule limit that dictates how many rules may
successfully return rule results. For example, if three rules
are assigned to a certain zone but the “Rule limit” is set to
one, only the first rule to successfully provide rule results
is evaluated. Any remaining rules in the zone are ignored.
Creating a Style
Creating Rules
After you have created your zones and styles, you can
start creating the rules themselves.
the end time for the time trigger. If you do not specify
an expiration time, the trigger does not expire.
5. Go on to the following section to specify the rule’s
target.
No Uniqueness Constraints
Prioritizing Rules
Rules view, and returns results from only the first three
that have valid results. In addition, the “Shuffle rules”
check box on the Zone editor overrides the priority order
you specify in the Rules view. When you check “Shuffle
rules”, the Navigation Engine randomly evaluates the
rules associated with a zone.
To prioritize rules:
<SupplementList> = <Navigation>.getSupplements()
<Supplement> = <SupplementList>.get(i)
<ERecList> = <Supplement>.getERecs()
<ERec> = <ERecList>.get(i)
<NavigationrefsList>=
<Supplement>.getNavigationRefs()
<DimValList> = <NavigationRefsList>.get(i)
<DimVal> = <DimValList>.get(j)
<PropertyMap> = <Supplement>.getProperties()
<Property> = <PropertyMap>.get(string)
You can use the following sample Java code to assist you
in extracting rule results from Supplement objects.
SupplementList sl = nav.getSupplements()
for (int i=0; i < sl.Size(); i++) {
// Get properties
PropertyMap supPropMap = sup.getProperties();
// Get record
ERec rec = (ERec)recs.get(j);
...
// Loop over dimension values to build new target query
String newNavParam;
for (int j=0; j < dvl.Size(); j++) {
DimVal dv = (DimVal)dvl.get(j)
You can use the following sample ASP code to assist you
in extracting rule results from Supplement objects.
// Get record
ERec rec = (ERec)supRecs[j];
...
' Get record list
dim supRecs
set supRecs = sup.GetERecs()
' Add id
newNavParam = newNavParam & dv.GetId()
next
...
...
' Get specific rule properties
set style = supPropMap.Get("Style")
set title = supPropMap.Get("Title")
set zone = supPropMap.Get("Zone")
set customText = supPropMap.Get("CustomText")
end if
next
Grouping Rules
Rule groups are a third and optional construct that
complement zones and styles in supporting dynamic
business rules. Rule groups serve two functions:
In the same way that you can modify the priority of a rule
within a group, you can also modify the priority of a rule
group with respect to other rule groups.
GET 'http://HOST:PORT/admin?op=exit'
This feature discusses how you create user profiles and then
implement them as dynamic business rule triggers. Before
reading further, make sure you are comfortable with the
information in the Dynamic Business Rules chapter.
Note: Each business rule is allowed to have at most one user profile
trigger.
312
• college_student
// import java.util.*;
profiles.Add("young_woman");
profiles.Add("r_and_b_music_fan");
profiles.Add("college_student");
eneQuery.Profiles = profiles;
Dim profiles(3)
profiles(0) = "young_woman"
profiles(1) = "r_and_b_music_fan"
profiles(2) = "college_student"
• On Windows:
%ENDECA_REFERENCE_DIR%\sample_updates_data
You can leave the other tabs (Sources, Record Index, and
so on) in their default state.
IF Expression
UPDATE_RECORD Expression
UPDATE_RECORD Errors
• If ACTION is not one of ADD, ADD_OR_REPLACE, REPLACE,
DELETE, DELETE_OR_IGNORE, or UPDATE.
Remove|P_WineID|P_Year|P_Wine|P_Winery|...|
1|34699|1992|A Red Blend Alexander Valley|Lyeth|...|
Update|P_WineID|P_Wine|P_PriceStr|
1|34701|Albarino Rias Baixas|1000.00|
P_WineID|P_Year|P_Wine|P_Winery|P_PriceStr|...|
99000|1992|First New Wine Added|Lyeth|18.00|...|
Dimension Components
Dimension Adapters
Dimension Server
Index Configuration
Dgidx Flags
baseline_update : Script
clear_updates
baseline_forge
baseline_dgidx
if dgraph.running
dgraph.stop
baseline_fetch
dgraph.start
pipeline = ..\data\forge_input\pipeline.epx
forge_options = -vw
working_dir = $(sample_updates_data_dir)\logs
input = ..\data\partition0\dgraph_input\wine
port = $(dgraph_port)
dgraph_options = --updatedir
..\data\partition0\dgraph_input\updates
partial_update : Script
update_forge
apply_timestamp
if dgraph.running
dgraph.update
For example:
http://localhost:8000/admin?op=update
This command will show a list of the update files that the
Navigation Engine has recently processed.
to:
/\/(\w+\.[^\.]+$/
Keep in mind that you will have to change the Perl regex
code if you use another naming convention for the
source input files.
Aggregated Endeca
Navigation Engine
(Agraph)
Dgidx 1 Dgraph 1
Partition 1 Partition 1
Endeca ENE Indices
Records Agraph
Agidx
Combined
Forge ENE Indices
Dgidx 2
Partition 2 Partition 2
Endeca ENE Indices Dgraph 2
Records
Dgidx 3 Dgraph 3
Partition 3 Partition 3
Endeca ENE Indices
Records
Implementation Overview
Agraph Limitations
The following features cannot be used with the Agraph:
• Enabling the “More…” option for dimension value
ranking.
• Relevance ranking for dimension search is not
supported in an Agraph. In addition, the Static
relevance ranking module is not supported in an
Agraph. See “Using Relevance Ranking” in the Endeca
Developer’s Guide for information on configuring
Dgraphs in an Agraph deployment to support
relevance ranking for record search.
• If you are aggregating records in your application, you
must specify a single property by which to aggregate
the records. Specify the property by enabling the
Rollup check box on General tab of the Property
editor.
Agraph Performance
Ideally, the Agraph speeds up both Dgidix indexing and
Navigation Engine request processing by a factor of the
number of partitions. The indexing speed-up is close to
this ideal, assuming that the Dgidx processes do not have
to compete for computation or disk resources.
http://oss.software.ibm.com/cgi-bin/icu/convexp
CHINESE ASCII FRENCH ASCII ASCII JAPANESE JIS JIS X ROMANIAN Latin2
GB-Roman 0201-1976 ISO-8859-2 (Latin 2)
CHINESE BIG5 Big FRENCH CP1252 JAPANESE JIS JIS X ROMANIAN Latin2
Five Microsoft Code Page 0201-1997 Microsoft Code Page
1252 1250
CHINESE CNS CNS FRENCH UTF-8 JAPANESE JIS JIS X RUSSIAN CP1251
11643-1986 Unicode UTF-8 0208-1990 Microsoft Code Page
1251
CHINESE EUC-CN GERMAN CP1252 JAPANESE JIS JIS X RUSSIAN KOI8R KOI
EUC-CN Microsoft Code Page 0212-1990 8-R
1252
• es – Spanish
• fr – French
• it – Italian
• ja – Japanese
• ko – Korean
• nl – Dutch
• pt – Portuguese
• zh – Chinese
• zh-CN – Chinese (simplified)
• zh-TW – Chinese (traditional)
http://www.w3.org/WAI/ER/IG/ert/iso639.htm
Note: You cannot create this file in Developer Studio. You must
create it with a text editor. Place the file in the directory where
the project XML files reside.
Note: You cannot create this file in Developer Studio. You must
create it by hand using a text editor.
aspell
aspell_OR_espell
aspell_AND_espell
E F
encrypting keys with Forge 100 featured records 287
Endeca Navigation Engine distribution Forge
across multiple processors 371 encoding for internationalized data
ENE URL query parameters 391
bulk export of records 138 encrypting keys with 100
for aggregated records 112 Forge hierarchical logging
key-based record sets 133 configuring MustMatch messages
record filters 153 236–237
ERecEnumerator class 143 introduced 227
ERecIter class 142 log appenders 231–234
example syntax of URL filters 64 log levels 228, 228–229
Exchange Server authentication 98 log.ini file 238–240
EXCHANGE_SERVER element 99 message categories 229–231
expression evaluation of record filters
formats
155
Forge log appenders 235
externally created dimensions
partial update records 334
compared to externally managed
full updates
taxonomies 168
See baseline updates
Developer Studio configuration 169
importing 174
G
introduced 167
global language ID 400
XML requirements 170
externally managed taxonomies
H
compared to an externally created
HTTP element 93
dimension 178
HTTPS element 96
Developer Studio configuration
179–180
I
introduced 177 ID_LANGUAGE expression 50
loading 188–189 IF expression for partial updates 328
node ID requirements 184 implementing "More..." dimension
pipeline configuration 185–187 values 161
transforming 187–188 importing externally created dimensions
XML syntax 181–183 174
XSLT mapping 181 inert dimension values
.NET example 165
Endeca Confidential
410
O deployment 360
objects and method calls record manipulator component 327
aggregated record rollup keys 109 record manipulator for Agraph
bulk export of records 138 deployment 361
key-based record sets 133 record specification attribute 340
reference implementation 322
P update adapter 336
PARSE_DOC expression 49 update adapter for Agraph
part list performance 156 deployment 365
partial updates UPDATE_RECORD expression 328
adding other control script bricks 352 URL update command parameters
capabilities 321 353
control script development 343 passing phrases with Forge 100
control script development for per-dimension language ID 401
Agraph 367 performance
deterministric distribution strategy Agraph 386
356 bulk export of records 144
Dgidx configuration 343 derived properties 129
Dgraph configuration 341 internationalized data 397
difference from baseline updates 319 key-based record sets 132
dimension adapter 337 multithreaded mode 247
dimension server 338 user profiles 318
directory structure 344 Perl expression for partial updates 362
format of update records 334 Perl manipulator in CAS 54
IF expression for record manipulator per-property language ID 401
328 per-query language ID 402
in Agraph deployments 355 per-record language ID 401
introduced 319 per-record memory overhead 144
naming format of data files 339, 358 promoting records with dynamic
business rules 258
Perl expression for record
properties in CAS
manipulator 362
name syntax 36
pipeline details 324
viewing generated 38
random distribution strategy 356
provisioning the Agraph in Web Studio
record adapter component 326 378
record adapter for Agraph PROXY element 100
Endeca Confidential
412
U
update adapter for Agraph partial
updates 365
update adapter for partial updates 336
UPDATE_RECORD expression for
partial updates 328
URL and record processing in CAS 28
URL filters for CAS 64
user profiles
.NET example 317
COM example 317
Developer Studio configuration
314–315
introduced 311
Java example 316
objects and method calls 315–316
performance 318
scenario 312–313
W
Web crawling with authentication 89
X
XML syntax for dimension hierarchy 171
Z
zones for dynamic business rules,
creating 271
Endeca Confidential
414