Progressive relaxation doesn't progress

I just discovered that in a contains() query with a <progression> tag and multiple <seq> conditions, the query does not return any results (ie, does not evaluate any subsequent conditions) if the first condition fails (ie, returns no rows).
Is this the correct behavior? It seems like a bug to me. I dont see it mentioned in the documentation anywhere.
Thanks,
Rory

If you use a ctxcat index and catsearch, instead of a context index and contains, the optimizer uses the domain index and returns the correct results quickly, as shown in the comparison below. The only bad thing about catsearch is that, as far as I know, the score function doesn't work with it.
SCOTT@10gXE> CREATE TABLE presidents
  2    (id   NUMBER,
  3       name VARCHAR2(60))
  4  /
Table created.
SCOTT@10gXE> INSERT INTO presidents VALUES (1, 'William Jefferson Clinton')
  2  /
1 row created.
SCOTT@10gXE> BEGIN
  2    FOR i IN 1 .. 40 LOOP
  3        INSERT INTO presidents
  4        SELECT object_id, object_name
  5        FROM     all_objects;
  6    END LOOP;
  7  END;
  8  /
PL/SQL procedure successfully completed.
SCOTT@10gXE> SELECT COUNT(*) FROM presidents
  2  /
  COUNT(*)
    481081
SCOTT@10gXE> CREATE INDEX presidents_idx
  2  ON presidents (name)
  3  INDEXTYPE IS CTXSYS.CONTEXT
  4  /
Index created.
SCOTT@10gXE> EXEC DBMS_STATS.GATHER_TABLE_STATS ('SCOTT', 'PRESIDENTS')
PL/SQL procedure successfully completed.
SCOTT@10gXE> SET TIMING ON
SCOTT@10gXE> SET AUTOTRACE ON EXPLAIN
SCOTT@10gXE> select id, name
  2  from   presidents
  3  where  contains(name,
  4                  '<query>
  5                  <textquery>
  6                    <progression>
  7                      <seq>{William} {Clinton}</seq>
  8                      <seq>{William} ; {Clinton}</seq>
  9                    </progression>
10                  </textquery>
11                   </query>',1) <> 0
12  /
        ID NAME
         1 William Jefferson Clinton
Elapsed: 00:01:35.74
Execution Plan
Plan hash value: 3740813417
| Id  | Operation         | Name       | Rows  | Bytes | Cost (%CPU)| Time     |
|   0 | SELECT STATEMENT  |            | 23933 |   514K|   746  (35)| 00:00:09 |
|*  1 |  TABLE ACCESS FULL| PRESIDENTS | 23933 |   514K|   746  (35)| 00:00:09 |
Predicate Information (identified by operation id):
   1 - filter("CTXSYS"."CONTAINS"("NAME",'<query>
              <textquery>                       <progression>
              <seq>{William} {Clinton}</seq>                         <seq>{William} ;
              {Clinton}</seq>                       </progression>
               </textquery>                   </query>',1)<>0)
SCOTT@10gXE> SET TIMING OFF
SCOTT@10gXE> SET AUTOTRACE OFF
SCOTT@10gXE> DROP INDEX presidents_idx
  2  /
Index dropped.
SCOTT@10gXE> CREATE INDEX presidents_idx
  2  ON presidents (name)
  3  INDEXTYPE IS CTXSYS.CTXCAT
  4  /
Index created.
SCOTT@10gXE> EXEC DBMS_STATS.GATHER_TABLE_STATS ('SCOTT', 'PRESIDENTS')
PL/SQL procedure successfully completed.
SCOTT@10gXE> SET TIMING ON
SCOTT@10gXE> SET AUTOTRACE ON EXPLAIN
SCOTT@10gXE> select id, name
  2  from   presidents
  3  where  catsearch(name,
  4                  '<query>
  5                  <textquery>
  6                    <progression>
  7                      <seq>{William} {Clinton}</seq>
  8                      <seq>{William} ; {Clinton}</seq>
  9                    </progression>
10                  </textquery>
11                   </query>',null) > 0
12  /
        ID NAME
         1 William Jefferson Clinton
Elapsed: 00:00:01.94
Execution Plan
Plan hash value: 777849224
| Id  | Operation                   | Name           | Rows  | Bytes | Cost (%CPU)| Time     |
|   0 | SELECT STATEMENT            |                | 24160 |   519K|   486   (1)| 00:00:06 |
|   1 |  TABLE ACCESS BY INDEX ROWID| PRESIDENTS     | 24160 |   519K|   486   (1)| 00:00:06 |
|*  2 |   DOMAIN INDEX              | PRESIDENTS_IDX |       |       |            |          |
Predicate Information (identified by operation id):
   2 - access("CTXSYS"."CATSEARCH"("NAME",'<query>                     <textquery>
                                 <progression>                         <seq>{William}
              {Clinton}</seq>                         <seq>{William} ; {Clinton}</seq>
                       </progression>                     </textquery>
              </query>',NULL)>0)
SCOTT@10gXE>

Similar Messages

  • Progressive relaxation doesn't execute all sequeces

    I' trying to execute the following query:
    select * from UNIMI_GA.ENTITA_RC entitarc0_ where CONTAINS(entitarc0_.VALORE_INDICIZZATO, '
    <query><textquery lang="ITALIAN" grammar="CONTEXT">
    <progression>
    <seq>$esame NEAR $microbiologiche</seq>
    <seq>$esame AND $microbiologiche</seq>
    <seq>$esame ACCUM $microbiologiche</seq>
    <seq>?esame ACCUM ?microbiologiche</seq>
    </progression>
    </textquery><score datatype="INTEGER" algorithm="DEFAULT"/></query>
    ', 1)>0
    Scenario 1
    There is no field VALORE_INDICIZZATO that contains both "esame" NEAR/AND "microbiologiche" (in exact/stemmed versions).
    But there are loads of records with that field containing "esame" or "microbiologiche".
    I would expect those records to be returned from this query. But this not happens. The only way I found to obtain what I want is deleting the first 2 seq nodes in the xml (those containing NEAR and AND operators).
    Scenario 2
    If I add a new record with both "esame" and "microbiologiche" in VALORE_INDICIZZATO and execute the query again, the query returns the last inserted record and all the records that contains "esame" or "microbiologiche".
    Is this behavioiur correct?
    Thanks
    Davide

    I believe bug 5060137 was introduced in 10.2.0.1 and fixed in the 10.2.0.3 patch set. I don't have access to Metalink, so I can't tell you exactly where to find the patch set, just that others have found it and used it to fix the problem. I imagine someone on Metalink can help you locate it.

  • Progression not yielding the desired result

    Hi
    I have written a text query using the progressive relaxation method. It is not giving me the desired results. Here are the query details:
    I have created an Intermedia index on a table with following specs:
    BEGIN
    CTX_DDL.DROP_PREFERENCE('CTXSYS.COMPANY_SEARCH_MULTI');
         CTX_DDL.CREATE_PREFERENCE('CTXSYS.COMPANY_SEARCH_MULTI', 'MULTI_COLUMN_DATASTORE');
         CTX_DDL.SET_ATTRIBUTE(     'CTXSYS.COMPANY_SEARCH_MULTI',
                        'columns',
                        'COMPANY,
                        DESC_N_PRODS,
                        PROD_DESC_N_PRODS,
                        PG_TITLE_GLUSR,
                        PG_KWD_DESC,
                        GEOGRAPHICAL_PROFILE,
                        GLUSR_DESC,
                        SUBCAT_DESC,
                        CTL_DESC,
                        SHORT_PROFILE,
                        LONG_PROFILE');
         CTX_DDL.DROP_SECTION_GROUP('CTXSYS.COMPANY_SEARCH_GROUP');
         CTX_DDL.CREATE_SECTION_GROUP('CTXSYS.COMPANY_SEARCH_GROUP', 'BASIC_SECTION_GROUP');
         CTX_DDL.ADD_FIELD_SECTION('CTXSYS.COMPANY_SEARCH_GROUP' , 'F1',     'COMPANY');
         CTX_DDL.ADD_FIELD_SECTION('CTXSYS.COMPANY_SEARCH_GROUP' , 'F2',     'DESC_N_PRODS');
         CTX_DDL.ADD_FIELD_SECTION('CTXSYS.COMPANY_SEARCH_GROUP' , 'F3',     'PROD_DESC_N_PRODS');
         CTX_DDL.ADD_FIELD_SECTION('CTXSYS.COMPANY_SEARCH_GROUP' , 'F4',     'PG_TITLE_GLUSR');
         CTX_DDL.ADD_FIELD_SECTION('CTXSYS.COMPANY_SEARCH_GROUP' , 'F5',     'PG_KWD_DESC');
         CTX_DDL.ADD_FIELD_SECTION('CTXSYS.COMPANY_SEARCH_GROUP' , 'F6',     'GEOGRAPHICAL_PROFILE');
         CTX_DDL.ADD_FIELD_SECTION('CTXSYS.COMPANY_SEARCH_GROUP' , 'F7',     'GLUSR_DESC');
         CTX_DDL.ADD_FIELD_SECTION('CTXSYS.COMPANY_SEARCH_GROUP' , 'F8',     'SUBCAT_DESC');
         CTX_DDL.ADD_FIELD_SECTION('CTXSYS.COMPANY_SEARCH_GROUP' , 'F9',     'CTL_DESC');
         CTX_DDL.ADD_FIELD_SECTION('CTXSYS.COMPANY_SEARCH_GROUP' , 'F10','SHORT_PROFILE');
         CTX_DDL.ADD_FIELD_SECTION('CTXSYS.COMPANY_SEARCH_GROUP' , 'F11','LONG_PROFILE');
         CTX_DDL.DROP_PREFERENCE('CTXSYS.IIL_LEXER');
         CTX_DDL.CREATE_PREFERENCE('CTXSYS.IIL_LEXER','BASIC_LEXER');
    CTX_DDL.SET_ATTRIBUTE('CTXSYS.IIL_LEXER', 'INDEX_STEMS', 'ENGLISH');
         CTX_DDL.DROP_PREFERENCE('CTXSYS.IIL_FUZZY_PREF');
         CTX_DDL.CREATE_PREFERENCE('CTXSYS.IIL_FUZZY_PREF', 'BASIC_WORDLIST');
         CTX_DDL.SET_ATTRIBUTE('CTXSYS.IIL_FUZZY_PREF','FUZZY_MATCH','ENGLISH');
         CTX_DDL.SET_ATTRIBUTE('CTXSYS.IIL_FUZZY_PREF','FUZZY_SCORE','60');
         CTX_DDL.SET_ATTRIBUTE('CTXSYS.IIL_FUZZY_PREF','FUZZY_NUMRESULTS','100');
         CTX_DDL.SET_ATTRIBUTE('CTXSYS.IIL_FUZZY_PREF','SUBSTRING_INDEX','TRUE');
         CTX_DDL.SET_ATTRIBUTE('CTXSYS.IIL_FUZZY_PREF','PREFIX_INDEX','TRUE');
         CTX_DDL.SET_ATTRIBUTE('CTXSYS.IIL_FUZZY_PREF','PREFIX_MIN_LENGTH','1');
         CTX_DDL.SET_ATTRIBUTE('CTXSYS.IIL_FUZZY_PREF','PREFIX_MAX_LENGTH','3');
         CTX_DDL.SET_ATTRIBUTE('CTXSYS.IIL_FUZZY_PREF','WILDCARD_MAXTERMS','15000');
         CTX_DDL.SET_ATTRIBUTE('CTXSYS.IIL_FUZZY_PREF','STEMMER','ENGLISH');
    END;
    CREATE INDEX COMPANY_SEARCH_IM on COMPANY_SEARCH(DUMMY) INDEXTYPE IS
    CTXSYS.CONTEXT PARAMETERS
    ('DATASTORE CTXSYS.COMPANY_SEARCH_MULTI SECTION GROUP CTXSYS.COMPANY_SEARCH_GROUP MEMORY 50M
    LEXER CTXSYS.IIL_LEXER WORDLIST CTXSYS.IIL_FUZZY_PREF STOPLIST CTXSYS.IIL_STOPLIST');
    Now if I want to search for a string - acrylic crochet
    My progressive clause is as follows:
    <QUERY>
    <TEXTQUERY>
    <PROGRESSION>
    <SEQ>(acrylic crochet) within F2</SEQ>
    <SEQ>($acrylic $crochet) within F2</SEQ>
    <SEQ>(acrylic crochet) within F3</SEQ>
    <SEQ>($acrylic $crochet) within F3</SEQ>
    <SEQ>(NEAR((acrylic,crochet))) within F2</SEQ>
    </PROGRESSION>
    </TEXTQUERY>
    </QUERY>
    The data set has a record where F2 Contains following text:
    Manufacturers and exporters of yarns like acrylic yarn, viscose yarns, acrylic blended yarn, acrylic knitting yarn, spun yarn, blended yarns, braided thread, chenille yarn, cotton yarn, crochet yarn, dupion silk yarns etc
    My problem is that - This record is not coming in the search result.
    The record starts appearing if I use only NEAR Clause. as shown below:
    <QUERY>
    <TEXTQUERY>
    <PROGRESSION>
    <SEQ>(NEAR((acrylic,crochet))) within F2</SEQ>
    </PROGRESSION>
    </TEXTQUERY>
    </QUERY>
    Please advise what could be wrong - is my Index proper, or my progressive clause has some problem or there is something else which I have totally missed.
    Regards
    Madhup

    The discussion in the link below contains the same bug that you have encoutered and some workarounds.
    Re: progressive relaxation doesn't progress

  • Progress bar on start up doesn't finish

    When I log onto my MacBook Pro after I enter my password a progress bar appears which starts to move across but only goes about 20% of the way before the desktop appears. I have heard that there has been a problem with automatic updates which don't fully install and this could be a symptom of that. Unfortunately I now get a problem where the Desktop seems to freeze and I can't select items with the trackpad. I'm not sure if the two are linked or just a coincidence.

    That is normal. If you get to the Desktop and all is working you don't have a problem. But if you do have a problem, then you need to do this:
    Try these in order testing your system after each to see if it's back to normal:
    1. a. Resetting your Mac's PRAM and NVRAM
        b. Intel-based Macs: Resetting the System Management Controller (SMC)
    2. Restart the computer in Safe Mode, then restart again, normally. If this doesn't help, then:
         Boot to the Recovery HD: Restart the computer and after the chime press and hold down the
         COMMAND and R keys until the Utilities menu screen appears. Alternatively, restart the
         computer and after the chime press and hold down the OPTION key until the boot manager
         screen appears. Select the Recovery HD and click on the downward pointing arrow button.
    3. Repair the Hard Drive and Permissions: Upon startup select Disk Utility from the Utilities menu. Repair the Hard Drive and Permissions as follows.
    When the recovery menu appears select Disk Utility. After DU loads select your hard drive entry (mfgr.'s ID and drive size) from the the left side list.  In the DU status area you will see an entry for the S.M.A.R.T. status of the hard drive.  If it does not say "Verified" then the hard drive is failing or failed. (SMART status is not reported on external Firewire or USB drives.) If the drive is "Verified" then select your OS X volume from the list on the left (sub-entry below the drive entry,) click on the First Aid tab, then click on the Repair Disk button. If DU reports any errors that have been fixed, then re-run Repair Disk until no errors are reported. If no errors are reported click on the Repair Permissions button. Wait until the operation completes, then quit DU and return to the main menu. Select Restart from the Apple menu.
    4. Reinstall Yosemite: Reboot from the Recovery HD. Select Reinstall OS X from the Utilities menu, and click on the Continue button.
    Note: You will need an active Internet connection. I suggest using Ethernet if possible
                because it is three times faster than wireless.
    5. Reinstall Yosemite from Scratch:
    Be sure you backup your files to an external drive or second internal drive because the following procedure will remove everything from the hard drive.
    How to Clean Install OS X Yosemite
    Note: You will need an active Internet connection. I suggest using Ethernet if possible
                because it is three times faster than wireless.

  • I have consolidate my folders related to the video I am in the progress of working on.  Premiere elements does not follow their new location.  How do I syn them back up all at once so premiere doesn't ask me for their location when I open the project

    I have consolidate my folders related to the video I am in the progress of working on.  Premiere elements does not follow their new location.  How do I syn them back up all at once so premiere doesn't ask me for their location when I open the project

    This is the Photoshop Elements forum, not the Premiere Elements forum, located here:
    https://forums.adobe.com/community/premiere_elements
    When you open the project, it should ask you where the first file is located. After you tell it where it is, it should be able to find the rest of them if they are located near the first one.  Then save the file.  If you move the files again, you will have to relink them again.

  • Why doesn't the file progress show in the Activity Window

    In Dreamweaver CS6 the file progress in the Activity Window doesn't show.  In DW CS5 and before you could monitor the file as it uploaded.  You could see how much of the file in increments was uploaded. Now the blue progress bar displays but I have no way of knowing how much of the file has uploaed until it's done.  Is there a way to put that back yo how it was?
    Thanks

    I found the answer to this problem at this link:
    http://blogs.adobe.com/dreamweaver/2012/06/ftp-improvement-in-dreamweaver-cs6.html
    Seems the activity window has in fact changed in CS6.  To see the progress you hold your cursor over the file you are transferring.
    Not sold on DW CS6 so far to be honest...

  • Tools sync now doesn't show any progress bar???

    I have created sync module for firefox.
    But when i click on : Tools > sync now
    Why it doesn't show any progress bar???
    Firexfox team should look into this matter.
    I love firefox.
    Best Regards,
    Jason Malaysia

    Yup Okay..
    But i'm now wondering, if it run background:-
    Where does it update sync to?
    Is it into my firefox account?
    Where i can see my backup bookmarks?
    Best Regards,
    Jason Malaysia

  • In the course of migration MacBook switched off due to low battery. After recharging progress bar doesn't change.

    In the course of migration MacBook switched off due to low battery. After recharging the progress bar doesn't move. How to continue the migration?

    I've never seen the Migration Assistant resume from sleep - for that matter I've never seen a computer go to sleep while MA was running. (If there's a next time, don't try this without the computer being plugged in.) You will probably have no choice but quit the migration and start over.

  • Progress bar doesn't work if enableRedraw is false? Script UI

    Hi,
    I just noticed in Peter Kahrel's ScriptUI manual (version 2.0) this note:
    "Note: in scripts that use progress bars, you cannot set
    app.scriptPreferences.enableRedraw to false. If you do, the progress
    bar doesn't display correctly. This is on Macs only."
    Not having a Mac to test this on, I'm wondering what "doesn't display
    correctly" actually involve?
    Thanks,
    Ariel

    Thanks Uwe.
    Anyone who has a Mac and a spare moment, may I invite you to download
    the demo of the "Create Character Styles" script on my website:
    www.freelancebookdesign.com, under the "Scripting" tab.
    It has a progress bar and enableRedraw = false (hence my interest in
    this subject), and it never occurred to me to test it on a Mac.
    If someone could test it on their Mac and tell me what happens, that
    would be much appreciated.*
    Ariel
    Free license for the first person who lets me know!

  • Macbook Pro doesn't starts, turn off in progress bar (Yosemite)

    My Macbook Pro (13-inch Mid 2012) doesn't start, I can submit my password but in progress bar the computer turn off.
    I all ready reset the PRAM but the problem insists
    What should i do?

         Reset PRAM.  http://support.apple.com/kb/PH18761
         Reset SMC.     http://support.apple.com/kb/HT3964
      Choose the method for:
      "Resetting SMC on portables with a battery you should not remove on your own".
        Start up in Safe Mode. http://support.apple.com/kb/PH18760
        Repair Disk. http://support.apple.com/kb/PH5836

  • HT2052 Doesn't show the download progress

    I purchased the update and clicked download and it said thank you your download is starting and it takes 30 minutes and more but it doesn't show the download progress and it's been more than 30 minutes and my iPod isn't updated.

    Extensions can sometimes be the cause of problems. If the problem does not occur in Safe Mode, then you can disable your extensions one-by-one until you find out which one is causing the problem. See [[Troubleshooting extensions and themes]]
    OR
    Try clearing your cache and cookies.
    # Open the Tools menu, then select Clear Recent History... .
    # In the '''Time Range to clear:''' drop-down, select '''Everything'''.
    # Click the arrow next to '''Details''' to display the list of items that can be cleared.
    # Select both '''Cookies''' and '''Cache'''.
    # Click Clear Now .

  • Query using progressive relaxation take more time for execution

    HI Gurus,
    I am creating a query using context index and progressive relaxation
    I had started using progressive relaxation after getting inputs from forum {thread:id=2333942} . Using progressive relaxation takes more than 7 seconds for every query. Is there any way we can improve the performance of the query?
    create table test_sh4 (text1 clob,text2 clob,text3 clob);
    begin
       ctx_ddl.create_preference ('nd_mcd', 'multi_column_datastore');
       ctx_ddl.set_attribute
          ('nd_mcd',
           'columns',
           'replace (text1, '' '', '''') nd1,
            text1 text1,
            replace (text2, '' '', '''') nd2,
            text2 text2');
       ctx_ddl.create_preference ('test_lex1', 'basic_lexer');
       ctx_ddl.set_attribute ('test_lex1', 'whitespace', '/\|-_+');
       ctx_ddl.create_section_group ('test_sg', 'basic_section_group');
       ctx_ddl.add_field_section ('test_sg', 'text1', 'text1', true);
       ctx_ddl.add_field_section ('test_sg', 'nd1', 'nd1', true);
       ctx_ddl.add_field_section ('test_sg', 'text2', 'text2', true);
       ctx_ddl.add_field_section ('test_sg', 'nd2', 'nd2', true);
    end;
    create index IX_test_sh4 on test_sh4 (text3)   indextype is ctxsys.context   parameters    ('datastore     nd_mcd   lexer test_lex1 section group     test_sg') ;
    alter index IX_test_sh4 REBUILD PARAMETERS ('REPLACE SYNC (ON COMMIT)') ;-- sync index on every commit.
    SELECT SCORE(1) score,t.* FROM test_sh4 t WHERE CONTAINS (text3,  '
    <query>
    <textquery>
    <progression>
    <seq>{GIFT GRILL STAPLES CARD} within text1</seq>
    <seq>{GIFTGRILLSTAPLESCARD} within nd1</seq>
    <seq>{GIFT GRILL STAPLES CARD} within text2</seq>
    <seq>{GIFTGRILLSTAPLESCARD} within nd2</seq>
    <seq>((%GIFT% and %GRILL% and %STAPLES% and %CARD%)) within text1</seq>
    <seq>((%GIFT% and %GRILL% and %STAPLES% and %CARD%)) within text2</seq>
    <seq>((%GIFT% and %GRILL% and %STAPLES%) or (%GRILL% and %STAPLES% and %CARD%) or (%GIFT% and %STAPLES% and %CARD%) or (%GIFT% and %GRILL% and %CARD%)) within text1</seq>
    <seq>((%GIFT% and %GRILL% and %STAPLES%) or (%GRILL% and %STAPLES% and %CARD%) or (%GIFT% and %STAPLES% and %CARD%) or (%GIFT% and %GRILL% and %CARD%)) within text2</seq>
    <seq>((%STAPLES% and %CARD%) or (%GIFT% and %GRILL%) or (%GRILL% and %CARD%) or (%GIFT% and %CARD%) or (%GIFT% and %STAPLES%) or (%GRILL% and %STAPLES%)) within text1</seq>
    <seq>((%STAPLES% and %CARD%) or (%GIFT% and %GRILL%) or (%GRILL% and %CARD%) or (%GIFT% and %CARD%) or (%GIFT% and %STAPLES%) or (%GRILL% and %STAPLES%)) within text2</seq>
    <seq>((%GIFT% , %GRILL% , %STAPLES% , %CARD%)) within text1</seq>
    <seq>((%GIFT% , %GRILL% , %STAPLES% , %CARD%)) within text2</seq>
    <seq>((!GIFT and !GRILL and !STAPLES and !CARD)) within text1</seq>
    <seq>((!GIFT and !GRILL and !STAPLES and !CARD)) within text2</seq>
    <seq>((!GIFT and !GRILL and !STAPLES) or (!GRILL and !STAPLES and !CARD) or (!GIFT and !STAPLES and !CARD) or (!GIFT and !GRILL and !CARD)) within text1</seq>
    <seq>((!GIFT and !GRILL and !STAPLES) or (!GRILL and !STAPLES and !CARD) or (!GIFT and !STAPLES and !CARD) or (!GIFT and !GRILL and !CARD)) within text2</seq>
    <seq>((!STAPLES and !CARD) or (!GIFT and !GRILL) or (!GRILL and !CARD) or (!GIFT and !CARD) or (!GIFT and !STAPLES) or (!GRILL and !STAPLES)) within text1</seq>
    <seq>((!STAPLES and !CARD) or (!GIFT and !GRILL) or (!GRILL and !CARD) or (!GIFT and !CARD) or (!GIFT and !STAPLES) or (!GRILL and !STAPLES)) within text2</seq>
    <seq>((!GIFT , !GRILL , !STAPLES , !CARD)) within text1</seq>
    <seq>((!GIFT , !GRILL , !STAPLES , !CARD)) within text2</seq>
    <seq>((?GIFT and ?GRILL and ?STAPLES and ?CARD)) within text1</seq>
    <seq>((?GIFT and ?GRILL and ?STAPLES and ?CARD)) within text2</seq>
    <seq>((?GIFT and ?GRILL and ?STAPLES) or (?GRILL and ?STAPLES and ?CARD) or (?GIFT and ?STAPLES and ?CARD) or (?GIFT and ?GRILL and ?CARD)) within text1</seq>
    <seq>((?GIFT and ?GRILL and ?STAPLES) or (?GRILL and ?STAPLES and ?CARD) or (?GIFT and ?STAPLES and ?CARD) or (?GIFT and ?GRILL and ?CARD)) within text2</seq>
    <seq>((?STAPLES and ?CARD) or (?GIFT and ?GRILL) or (?GRILL and ?CARD) or (?GIFT and ?CARD) or (?GIFT and ?STAPLES) or (?GRILL and ?STAPLES)) within text1</seq>
    <seq>((?STAPLES and ?CARD) or (?GIFT and ?GRILL) or (?GRILL and ?CARD) or (?GIFT and ?CARD) or (?GIFT and ?STAPLES) or (?GRILL and ?STAPLES)) within text2</seq>
    <seq>((?GIFT , ?GRILL , ?STAPLES , ?CARD)) within text1</seq>
    <seq>((?GIFT , ?GRILL , ?STAPLES , ?CARD)) within text2</seq>
    </progression>
    </textquery>
    <score datatype="FLOAT" algorithm="default"/>
    </query>',1) >0 ORDER BY score(1) DESC

    Progressive relaxation works best when you're only selecting a limited number of rows. If you fetch ALL the rows which satisfy the query, then all the steps in the relaxation will have to run regardless.
    If you fetch - say - the first 10 results, then if the first step of the relaxation provides 10 results then there is no need to execute the next step (in fact, due to internal buffering, that won't be exactly true but it's conceptually correct).
    The simplest way to do this is reword the query as
    SELECT * FROM (
    ( SELECT SCORE(1) score,t.* FROM test_sh4 t WHERE CONTAINS (text3, '
    <query>
    <textquery>
    </textquery>
    <score datatype="FLOAT" algorithm="default"/>
    </query>',1) >0 ORDER BY score(1) DESC
    WHERE ROWNUM <= 10
    You've discovered that leading wild cards don't work too well unless you use SUBSTRING_INDEX. I would encourage you to avoid them altogether if possible, or push them down much lower in the progressive relaxation. Usually, GIFT% is a useful expression (matches GIFTS, GIFTED, etc), %GIFT% is generally no more effective.
    There are a lot of steps in your progressive relaxation. It you wanted to reduce the number of steps, you could change:
    <seq>((%GIFT% and %GRILL% and %STAPLES% and %CARD%)) within text1</seq>
    <seq>((%GIFT% and %GRILL% and %STAPLES% and %CARD%)) within text2</seq>
    to
    <seq>((%GIFT% and %GRILL% and %STAPLES% and %CARD%)*2) within text1 ACCUM ((%GIFT% and %GRILL% and %STAPLES% and %CARD%)) within text2</seq>
    I don't know if this would have any performance benefits - but it's worth trying it to see.

  • Progressive download doesn't display

    I'm attempting to add video to our site using flv files
    created in Premiere Pro and creating the swf files in Flash. The
    video is intended to popup in a new window. Everything works
    wonderfully inside Flash and in my browser, but when I move it to
    the server, it doesn't work. When the button is clicked, the popup
    opens and the file name and address displays correctly, however,
    the window remains white. When I right-click on the window, I can
    see the Flash settings.
    I verified with our web administrator that flv is a
    registered file type. I read about Enabling the FLV MIME. Is that
    the same thing as "registering flv"? Any ideas what else could be
    my problem?
    Thanks.

    I figured out my problem by posted in the DW forums. All of
    my paths were correct between the HTML, SWF's, FLV's, and the
    JavaScript. So, for those of you experiencing the same thing:
    End's up it was the MIME types on my host. The host computer
    didn't know how to handle FLV files, just like sometimes on a local
    desktop you have to sometimes associate certain file types with
    certain programs. It has something to do with the HTML header. All
    I had to do was go to my host settings through their website and
    add the MIME FLV type.
    Responding to the last post:
    1. You actually want to save your video out from an AVI
    straight to FLV, not mp4 if you are planning on having people view
    it through a Flash player. Mp4's have some compression so you don't
    want to add another compression on top of that once you change it
    to FLV. You can even save an FLV file directly out of Premiere
    rather than going the AVI to Sorenson Squeeze route. Better yet,
    export an AVI from Premiere and open it Flash Video encoder (free
    program). The quality will be determined by your encoding settings
    in Premiere/SS/FVE.
    2. Progressive download works for every Flash player that
    supports FLV's (I forget what the first player was, 6 perhaps). The
    only difference between 8 & 9 is that 9 also supports the new
    compression codec On2 VP6, which lets you do alpha channels and
    compresses a little better. Just use Sorenson codec and you'll
    cover your bases.

  • Progressive Relaxation with error

    Hi,
    I tried to use progress relaxation to calculate matching scores(between t1.album and t2.title) and store them into a table. However, after executing the following script, I got these errors:
    ERROR at line 1:
    ORA-29902: error in executing ODCIIndexStart() routine
    ORA-20000: Oracle Text error:
    DRG-50901: text query parser syntax error on line 1, column 34
    ORA-06512: at line 26
    And the outer cursor stopped at some point. I've been working on it for many days already, but I still can't figure it out...
    Oh, one more question: what is 'c' in the statement 'for c in (......)'? I got this from http://www.oracle.com/technology/products/text/htdocs/prog_relax.html, but I don't understand what it does...
    Thanks a lot!!!!!!
    Here is the script:
    DECLARE
    max_rows integer := 300000;
    counter integer := 0;
    current_album t1.album%TYPE;
    CURSOR album_cursor IS
         SELECT distinct album FROM t1;
    BEGIN
    OPEN album_cursor;
    LOOP
    FETCH album_cursor INTO current_album;
    EXIT WHEN album_cursor%NOTFOUND;
    for c in (select score(1) scr, aritst, Title from t2 where contains (Title, '
    <query>
    <textquery>'||'{'||current_album||'}'||'
    <progression>
    <seq><rewrite>transform((TOKENS, "{", "}", " "))</rewrite></seq>
    <seq><rewrite>transform((TOKENS, "?{", "}", " "))</rewrite>/seq>
    <seq><rewrite>transform((TOKENS, "{", "}", "OR"))</rewrite></seq>
    <seq><rewrite>transform((TOKENS, "?{", "}", "OR"))</rewrite></seq>
    </progression>
    </textquery>
    </query>
    ', 1) > 0)
    LOOP
    counter := counter + 1;
    INSERT INTO ALBUM_MATCHED(SEQNUM, SCORE, ARTIST, t2_TITLE, t1_ALBUM)
    VALUES(counter, c.scr, c.artist, c.Title, current_album);
    commit;
    EXIT when counter >= max_rows;
    END LOOP;
    END LOOP;
    CLOSE album_cursor;
    END;
    **************************************************************************************************************************************************

    Hi raford,
    I also suspect that it's a problem caused by special characters. That's why I defined the following skipjoins for the matching column indexes:
    exec CTX_DDL.CREATE_PREFERENCE ('spe_cha_lexer', 'BASIC_LEXER');
    exec CTX_DDL.SET_ATTRIBUTE('spe_cha_lexer', 'SKIPJOINS' , '\,\&\=\{\}\\\(\)\[\]\-\;\~\|\$\!\>\*\%\_''\<\:\?\.\+\/\"@#');
    create index t1_album_idx on t1 (album)
    indextype is ctxsys.context
    parameters ('lexer spe_cha_lexer wordlist wildcard_pref sync (on commit)');
    create index t2_title_idx on amazonData (title)
    indextype is ctxsys.context
    parameters ('lexer spe_cha_lexer wordlist wildcard_pref sync (on commit)');
    Here is the table structures of t1 and t2, and resultset table album_matched:
    create table t1(album varchar2(500));
    create table t2(artist varchar2(500), title varchar2(4000));
    create table album_matched(SEQNUM number, SCORE number, ARTIST varchar2(500), t2_TITLE varchar2(4000), t1_ALBUM varchar2(500));
    Here is some sample data:
    for t1:
    Madeline Porter
    Harry Porter
    ???? R & H ?????
    mandy's candy
    for t2.artist, you can put whatever. and for t2.title:
    Harry Porter
    Basically, you can put everything in t1.album and t2.artist and t2.title, since we downloaded these data from a website. Therefore, there might be a lot of special characters in it, some of which might be miscoded into english from French or some other languages.
    And I found the scoring is not right too...both table contain 'Harry Porter', but the matching score has only 68...don't know why...
    Thanks a lot!

  • Batch Monitor shows no progress - qmaster doesn't seem to process anything

    I've been using this iMac since my company bought it a year ago and haven't had trouble with compressor until earlier this week when it just stopped working - no error message no crash - its just doesn't process jobs. I haven't updated anything or added any weird software of which I'm aware. Unfortunately I don't have a time machine back up to return to. We have the extended apple care and I haven't reformatted and reinstalled everything yet, I'm desperately trying to avoid that as I've already had to do it once in the past few months and it put me back at least a week of productivity as it took several days to get everything reinstalled. The same is true for taking it to the local apple specialist - took them a week last time I dropped a computer off there.
    Whether its a file that I'm opening in compressor or a project I'm exporting from final cut I can wait for 20 hours and no progress is made I've done a great deal of searching on these as well as other online forums and taken lots of advice given to other people with similar problems and nothing seems to work here's what i've tried in a rough order:
    Checking for Updates
    Resetting back ground processes
    Deleting preferences (for compresser et al)
    turning sharing on/turning sharing off
    starting qmaster using terminal
    restarting qmaster using terminal
    checking qmaster's settings using terminal and setting 'rendering' and processing to 'on'
    Reinstalling compressor,qmaster,qadministrator and batch monitor using Pacifist
    When Reinstalling I never click the box to share processing on a network
    I've tried starting jobs with it disconnected from my office LAN
    I've tried Everything on the compressor troubleshooting basics page including deleting all files associate with compressor, qmaster, qadmin and even motion and reinstalling them.
    after each reinstall I always update compressor as it wont even start in snow leopard without updating
    I've checked in activity monitor - qmaster is running just fine, it appears.
    If anyone has any more suggestions as to things that could be done, please offer them.

    try these initial things:
    • check the QMASTER logs in /var/logs (or simply use the /applications/utilities/CONSOLE.app). IF its failing or stalled there WILL be a reason for it.
    • look for QMASTER crashes logs...... you maybe not be able to red the dump but there will be a common thing in there somewhere...
    • stalled?: maybe sitting in the ACTIVE QUEUE with PROCESSING, but doing nothing.. maybe one of the services has failed. I se an EMAIL address up in the compressor to tell if anything broke. works great!
    • stalled?: maybe your set up the cluster maybe expecting MANAGED SERVICEs and you cluster is not SETup for that.lots of these things.
    anyway, have a look in the console logs and post your stuff. Happy to help you with it.
    I have found the latest qmaster and compressor with FCS3 is very good.
    LAstly, I have had the ODD thing that utilises PERIAN plugins etc t sit and do nothing. PErian ends up dumping.. anyway all this can be worked around.
    w

Maybe you are looking for