Well... if I understand the documentation, you should modify the search_indexing.conf, block ca_object_lots = {...}.
By default, this block is:
ca_object_lots = {
# ------------------------------------
ca_object_lots = {
fields = {
idno_stub = { STORE, DONT_TOKENIZE, INDEX_AS_IDNO, BOOST = 100 },
_metadata = { },
lot_status_id = { STORE, DONT_TOKENIZE },
type_id = { STORE, DONT_TOKENIZE },
extent = { STORE, DONT_TOKENIZE },
extent_units = { STORE, DONT_TOKENIZE },
status = { STORE, DONT_TOKENIZE },
access = { STORE, DONT_TOKENIZE },
deleted = { STORE, DONT_TOKENIZE }
}
},
# ------------------------------------
ca_object_lot_labels = {
key = lot_id,
fields = {
name = { BOOST = 100 },
name_sort = { DONT_INCLUDE_IN_SEARCH_FORM }
}
},
# ------------------------------------
ca_entity_labels = {
tables = {
entities = [ca_object_lots_x_entities, ca_entities]
},
fields = {
displayname = {}
}
},
# ------------------------------------
ca_list_item_labels = {
tables = {
vocabulary = [ca_object_lots_x_vocabulary_terms, ca_list_items]
},
fields = {
item_id = { DONT_INCLUDE_IN_SEARCH_FORM },
name_singular = {},
name_plural = {}
}
},
# ------------------------------------
ca_objects = {
key = lot_id,
fields = {
idno = { STORE, DONT_TOKENIZE, INDEX_AS_IDNO, BOOST = 100 }
}
},
# ------------------------------------
ca_storage_location_labels = {
tables = {
places = [ca_object_lots_x_storage_locations, ca_storage_locations]
},
fields = {
location_id = { DONT_INCLUDE_IN_SEARCH_FORM },
name = {}
}
},
# ------------------------------------
ca_sets = {
tables = {
sets = [ca_set_items],
},
keys = { # manually override joins with explicit setting
sets = {
ca_set_items = {
ca_object_lots = {
left_key = row_id,
left_table_num = table_num,
right_key = lot_id
}
}
}
},
fields = {
set_code = { },
set_id = { DONT_TOKENIZE, DONT_INCLUDE_IN_SEARCH_FORM }
}
},
# ------------------------------------
ca_media_upload_sessions = {
key = session_id,
fields = {
session_key = { STORE, DONT_TOKENIZE },
session_id = { STORE, DONT_TOKENIZE },
}
},
# ------------------------------------
_access_points = {
basic = {
fields = [ca_object_lot_labels.name, ca_object_lots.idno_stub],
boolean = OR,
name = _(Label + idno),
options = { }
},
set = {
fields = [ca_sets.set_id, ca_sets.set_code],
boolean = OR
},
mediaUploadSession = {
fields = [ca_media_upload_sessions.session_key],
options = { }
}
}
# ------------------------------------
}
What you want (if I understand) is not find an object lot when you search for a string that corresponds to an object's metadata. Just find an object lot with its own metadata.
To do so, you may comment (or delete) the part related to ca_objects in this block:
ca_object_lots = {
# ------------------------------------
ca_object_lots = {
fields = {
idno_stub = { STORE, DONT_TOKENIZE, INDEX_AS_IDNO, BOOST = 100 },
_metadata = { },
lot_status_id = { STORE, DONT_TOKENIZE },
type_id = { STORE, DONT_TOKENIZE },
extent = { STORE, DONT_TOKENIZE },
extent_units = { STORE, DONT_TOKENIZE },
status = { STORE, DONT_TOKENIZE },
access = { STORE, DONT_TOKENIZE },
deleted = { STORE, DONT_TOKENIZE }
}
},
# ------------------------------------
ca_object_lot_labels = {
key = lot_id,
fields = {
name = { BOOST = 100 },
name_sort = { DONT_INCLUDE_IN_SEARCH_FORM }
}
},
# ------------------------------------
ca_entity_labels = {
tables = {
entities = [ca_object_lots_x_entities, ca_entities]
},
fields = {
displayname = {}
}
},
# ------------------------------------
ca_list_item_labels = {
tables = {
vocabulary = [ca_object_lots_x_vocabulary_terms, ca_list_items]
},
fields = {
item_id = { DONT_INCLUDE_IN_SEARCH_FORM },
name_singular = {},
name_plural = {}
}
},
# ------------------------------------
# ca_objects = {
# key = lot_id,
# fields = {
# idno = { STORE, DONT_TOKENIZE, INDEX_AS_IDNO, BOOST = 100 }
# }
# },
# ------------------------------------
ca_storage_location_labels = {
tables = {
places = [ca_object_lots_x_storage_locations, ca_storage_locations]
},
fields = {
location_id = { DONT_INCLUDE_IN_SEARCH_FORM },
name = {}
}
},
# ------------------------------------
ca_sets = {
tables = {
sets = [ca_set_items],
},
keys = { # manually override joins with explicit setting
sets = {
ca_set_items = {
ca_object_lots = {
left_key = row_id,
left_table_num = table_num,
right_key = lot_id
}
}
}
},
fields = {
set_code = { },
set_id = { DONT_TOKENIZE, DONT_INCLUDE_IN_SEARCH_FORM }
}
},
# ------------------------------------
ca_media_upload_sessions = {
key = session_id,
fields = {
session_key = { STORE, DONT_TOKENIZE },
session_id = { STORE, DONT_TOKENIZE },
}
},
# ------------------------------------
_access_points = {
basic = {
fields = [ca_object_lot_labels.name, ca_object_lots.idno_stub],
boolean = OR,
name = _(Label + idno),
options = { }
},
set = {
fields = [ca_sets.set_id, ca_sets.set_code],
boolean = OR
},
mediaUploadSession = {
fields = [ca_media_upload_sessions.session_key],
options = { }
}
}
# ------------------------------------
}
Then "Rebuild search indices" in web interface under Manage > Administrate > Maintenance (or using the command-line caUtils rebuild-search-index command)
Hope this will help...