Class IndexSQLTool

  • All Implemented Interfaces:
    IndexTool

    public class IndexSQLTool
    extends IndexCore
    implements IndexTool
    Indexation using SQL implementation
    • Constructor Detail

      • IndexSQLTool

        public IndexSQLTool()
    • Method Detail

      • delete

        public void delete​(java.lang.String object,
                           java.lang.String row_id)
                    throws java.lang.Exception
        Delete object index
        Specified by:
        delete in interface IndexTool
        Parameters:
        object - Object name
        row_id - Record id
        Throws:
        java.lang.Exception
      • indexation

        public long indexation​(ObjectDB index,
                               Grant g,
                               boolean reset)
                        throws java.lang.Exception
        Bulk indexes of every indexed fields (take several minutes/hours for huge model)
        Specified by:
        indexation in interface IndexTool
        Parameters:
        index - Index object
        g - User rights
        reset - true to rebuild all, false to replace/append to the existing index
        Returns:
        index size
        Throws:
        java.lang.Exception
      • indexObject

        public long indexObject​(java.lang.String objectName,
                                java.lang.String fromDate,
                                java.lang.String toDate)
                         throws java.lang.InterruptedException
        Bulk indexation of single object
        Specified by:
        indexObject in interface IndexTool
        Parameters:
        objectName - Object to index
        fromDate - Optional timestamp start date
        toDate - Optional timestamp end date
        Returns:
        index size
        Throws:
        java.lang.InterruptedException
      • indexation

        public void indexation​(ObjectDB obj)
                        throws java.lang.Exception
        Single object indexation
        Specified by:
        indexation in interface IndexTool
        Parameters:
        obj - Business object (row_id must be selected)
        Throws:
        java.lang.Exception
      • search

        public SearchResult search​(Grant g,
                                   java.lang.String object,
                                   java.lang.String input,
                                   java.lang.String query,
                                   int pageNum,
                                   int pageSize,
                                   java.lang.String context,
                                   org.json.JSONObject values)
        Field search (useful for field completion)
        Specified by:
        search in interface IndexTool
        Parameters:
        g - Grant
        object - Object name
        input - Field input name
        query - Search query
        pageNum - Page number (0 = first page)
        pageSize - Page size
        context - search, list, form, reference
        values - optional fields values from UI to load in tmp object
        Returns:
        List of match values
      • search

        public SearchResult search​(Grant g,
                                   java.util.List<java.lang.String> objects,
                                   java.lang.String query,
                                   int pageNum,
                                   int pageSize)
                            throws java.lang.Exception
        Object search (listed object)
        Specified by:
        search in interface IndexTool
        Parameters:
        objects - Object names
        query - Search query
        pageNum - Page number (0 = first page)
        pageSize - Page size
        g - User rights
        Returns:
        List of (score, row_id, ukey)
        Throws:
        java.lang.Exception
      • search

        public SearchResult search​(Grant g,
                                   java.lang.String query,
                                   int pageNum,
                                   int pageSize)
                            throws java.lang.Exception
        Global search (any indexed object)
        Specified by:
        search in interface IndexTool
        Parameters:
        query - Search query
        pageNum - Page number (0 = first page)
        pageSize - Page size
        g - User rights
        Returns:
        List of (score, object, row_id, ukey, all)
        Throws:
        java.lang.Exception
      • searchDoc

        public SearchResult searchDoc​(Grant g,
                                      java.lang.String query,
                                      java.util.List<java.lang.String> bookshelfs,
                                      java.util.Map<java.lang.String,​java.lang.String> filter,
                                      int max)
                               throws java.lang.Exception
        ZZZ EXPERIMENTAL Search in document text
        Specified by:
        searchDoc in interface IndexTool
        Parameters:
        g - User rights
        query - Search query
        max - Max rows
        Returns:
        List of (docId, path, score)
        Throws:
        java.lang.Exception
      • renameObject

        public static void renameObject​(java.lang.String oldName,
                                        java.lang.String newName)
        Rename object in m_index
        Parameters:
        oldName - Old name
        newName - New name