home bbs files messages ]

Forums before death by AOL, social media and spammers... "We can't have nice things"

   comp.databases.oracle      Overblown overpriced overengineered SHIT      2,288 messages   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]

   Message 2,020 of 2,288   
   Frank van Bortel to Nikola Pecigos   
   Re: Oracle Text for searchengine across    
   04 Mar 05 10:49:45   
   
   From: fvanbortel@netscape.net   
      
   Nikola Pecigos wrote:   
   > Hi,   
   >   
   > I have the following problem:   
   >   
   > We have an Oracle 9.2 with one table "document" which contains a path   
   > to the filesystem. If I want to index these files (HTML, PDF, World,   
   > Excel, etc.), I have to use the datastore type "FILE_DATASTORE".   
   >   
   > Another table "lng_text" stores the titles and descriptions for   
   > multiple languages for each row in table "document".   
   >   
   > My goal is to build an index, which I can query with AND or OR   
   > Operator across all three columns in both tables.   
   >   
   > I read a lot about USER_DATASTORE and the posibillity to merge   
   > different columns with a stored procedure in one index. But how is   
   > this possible in this case, since one column contains a path to   
   > filesystem and two other columns are VARCHAR(500)?   
   >   
   >   
   > Thanks in advance!   
   >   
   > Greetz,   
   > Nikola Pecigos   
   >   
   > PS: As far as I realize it, building two or three indexes does not   
   > solve the problem. If I had more than one searchword like "this &   
   > that" and query multiple indexes,   
   >   
   > WHERE CONTAINS(t1.column, 'this & that', 10) > 1 OR   
   >       CONTAINS(t2.column, 'this & that', 20) > 1   
   >   
   >   
   > I would request boths searchwords to appear together in ONE index or   
   > the other. But it has to be possible, that "this" is found in t1 and   
   > "that" in t2.   
      
   No - you would use 'this AND that' or 'this OR that' ('this | that')   
      
   Frankly, I don't see your problem.   
   If you build a contatenated index, as you propose, you still don't   
   know where the word came from - the title, the description, or the   
   document itself. All you know is the index found a (one or more) hit.   
      
   Anyway - you can use a user_datastore to concatenate your   
   columns-to-be-indexed into a CLOB, and query it. This can be   
   done over multiple tables, and probably over external files   
   as well.   
   Performance wise, I would opt for storage *within* the database,   
   though. The indexing process will need to read them anyway. ANd   
   your backups will be consistent!   
      
   I'd recommend reading chapters 2 and 3 of   
   http://otn.oracle.com/pls/db92/db92.to_pdf?pathname=text.920%2Fa   
   6518.pdf&remark=docindex   
      
   --   
   Regards,   
   Frank van Bortel   
      
   --- SoupGate-Win32 v1.05   
    * Origin: you cannot sedate... all the things you hate (1:229/2)   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]


(c) 1994,  bbs@darkrealms.ca