Status: New
Owner: ----
Labels: Type-Defect Priority-Medium
New issue 11 by amitsharadjoshi: Multi-dbaddr is broken in 4.52 onwards
http://code.google.com/p/dataparksearch/issues/detail?id=11
Setup dpsearch with multiple indices each with its own searchd daemon.
Setup the search.htm to search across all the searchd daemons
If there are duplicate articles between the indices you will sometimes get
results with no document information depending on the order of the searchd
daemons specified in the search.htm.
The problem lies around line 348 in the file src/searchd.c #ifdef
DpsDocFromTextBuf(&Res->Doc[ndocs], tok);
WITH_MULTIDBADDR
{
char *dbstr =
DpsVarListFindStr(&Res->Doc[ndocs].Sections, "dbnum", NULL);
if (dbstr != NULL) {
Res->Doc[ndocs].dbnum =
DPS_ATOI(dbstr);
}
}
#endif
Assigning Res->Doc[ndocs].dbnum causes the db number to be set incorrectly
and the document is looked for in the wrong index. Previous versions did
not have that code and also the assignment
DpsDocFromTextBuf(&Res->Doc[ndocs], tok); was after the #endif.
Commenting out the whole if(dbstr) ... clause and moving the assignment to
the old position seems to fix the problems.
--
You received this message because you are listed in the owner
or CC fields of this issue, or because you starred this issue.
You may adjust your issue notification preferences at:
http://code.google.com/hosting/settings