Help index objects labels

HI,

I have a weird behavior...

In our configuration we have many types of title such as original, attributed, title proper etc.. ->ca_object_labels.type_id

This configuration is available for both preferred and non_preferred labels.

The goal is to be able to search by title and title type


 In the search_indexing.conf if I just add type_id,

it seems that the search has results of preferred and non_preferred labels not considering type_id as filter,

if i also add is_preferred the search sets is_preferred to "No" and the results are wrong or inconsistent

even if i change the filter in serach mask to is_preferred.

can you help me?

thank you


       ca_object_labels = {

               key = object_id,

               fields = {

                       name = { BOOST = 100, INDEX_ANCESTORS, INDEX_ANCESTORS_START_AT_LEVEL = 0, INDEX_ANCESTORS_MAX_NUMBER_OF_LEVELS = 4, INDEX_ANCESTORS_AS_PATH_WITH_DELIMITER = . },

                       name_sort = { DONT_INCLUDE_IN_SEARCH_FORM },

#try Antonio

                       type_id = { STORE },

is_preferred = { STORE },

                       _count = {}

      }


PROD ver. 1.7.16

Comments

  • It is possible to index and then search by:

    - preferred labels

    - non-preferred labels

    And

    -type_id (label) ?


    Then do searches for:

    1) preferred_label and type_id

    2) non_preferred label and type_id


    Thank you

    PROD ver. 1.7.16

  • I apologize for the reposting, but for our client it is essential to be able to search on title and title type and

    I was unable to solve the problem both on version 1.7.16 and on 1.8 that we installed in the dev environment.

    Can you help me please?


    ca_object_labels = {

         key = object_id,

         fields = {

            name = { BOOST = 100, INDEX_ANCESTORS, INDEX_ANCESTORS_START_AT_LEVEL = 0, INDEX_ANCESTORS_MAX_NUMBER_OF_LEVELS = 4, INDEX_ANCESTORS_AS_PATH_WITH_DELIMITER = . },

            name_sort = { DONT_INCLUDE_IN_SEARCH_FORM },

            type_id = { STORE },

             #is_preferred = { STORE },

            _count = {}

                  }

  • How are you trying to search? Basic, advanced, search builder, browse?

  • Hi monica,

    I tried the advanced searches because I need to be able to choose the title type and insert the title and I always get conflicting results,

    it seems that when I search for a value that I know is only on the non_preferred label and select the type_id,

    the search result is also present for the preferred label.

    The search builder doesn't give me the option to choose the title type.


    I also tried the original configuration of the app.conf where to put the two lists:


    #LM 26/04/18S ensures that the label type is also displayed for the object type

    ca_objects_preferred_label_type_list = object_label_types_preferred

    #ca_objects_preferred_label_type_list = object_label_types

    #LM 26/04/18E

    ca_objects_nonpreferred_label_type_list = object_label_types


    and reindex but in this case I can't choose the type_id for the preferred_label in the search,

    so the actual configuration than I have is this:

    ca_objects_preferred_label_type_list = object_label_types

    ca_objects_nonpreferred_label_type_list = object_label_types

    the same type list for preferred and non_preferred.


    I also tried to index by also putting the "is_preferred" field in the search_indexing.conf

    thinking of using it as a search filter, but the behavior is similar to that described above.


    I have attached an example where I search for "parallel title (SGTR)" and I also find different title types such as "proper title (SGTP)"

    I opened an issue https://github.com/collectiveaccess/providence/issues/1471 where there is another example.

    Many thanks for your interest, I'm a bit stuck on this.

  • edited September 7

    Give this a try in the basic search entering something like this.

    `ca_object_labels.name:"search term" AND ca_object_labels.type_id:"id_code" `

    If that works then the advanced search is returning OR results.

    Otherwise I think what is happening is it's returning any object that matches the label name term and label type in the same object record and not necessarily on the same label in that object.

  • Hi, I did the tests you recommended and I am attaching a capture image.

    It actually seems to work in OR on the label type.

    In my opinion we can consider it a bug,

    because in any case I can't do the search by name and type_id.

    What do you think?

    Thanks, Antonio.

    1304 x 1166 - 53K
  • It is doing what you want, as you are asking it to return an object that has a label with that name and a label with that type. If might need to try searching on ca_objects.preferred_labels.name and ca_objecta.preferred_labels.type_id together and same for ca_objects.nonpreferred_labels


    If it works, make an access point and add that to advanced search?

  • hi

    1.ca_objects.preferred_labels.name:"antonio" AND ca_objects.preferred_labels.type_id:"49" -->ok, found object

    2.ca_objects.preferred_labels.name:"antonio" AND ca_objects.preferred_labels.type_id:"50"-->found object, but ko, type_id 50 is on non_preferred

    3.ca_objects.preferred_labels.name:"antonio" AND ca_objects.nonpreferred_labels.type_id:"50" -->ok, found object

    4.ca_objects.nonpreferred_labels.name:"pinco" AND ca_objects.nonpreferred_labels.type_id:"50" -->ok, found object

    5. ca_objects.nonpreferred_labels.name:"pinco" AND ca_objects.nonpreferred_labels.type_id:"49" -->found object, but ko, type_id 49 is on preferred

    6.ca_objects.nonpreferred_labels.name:"pinco" AND ca_objects.preferred_labels.type_id:"49" --> ok


    there is something strange, certainly case 2 and case 5 are wrong...


    I have to study how access points are made, but in my opinion the problem is that

    I only want to obtain the label and type pair and not records where label and type exist

    even if they are disjoint from each other...

  • The way the search indexer works it is not possible to search for records where a label has both specific content and a specific type. It'll find any object with the content in a label and a label with the type, even if the values are in two different labels.

    The indexer already have provision to group fields (for container searches), but it was never extended to labels. If you want to create a GitHub issue for it we will see about adding it soon.

  • Thanks for your patience Seth and Monica.

    I have already opened issue 1471

    https://github.com/collectiveaccess/providence/issues/1471

Sign In or Register to comment.