Build text-index based on a given list of words or phrases.
I'm somewhat of a beginner to this text-indexing. I've been able to build and query a simple text-index and even implement my own list of stop-words. However, I'd like to be able to control the set of words that are indexed.
For example, If I have a table that contains a CLOB field filled with text documents and I also have a list of 200 words:
"TUBERCULOSIS"
"DIABETES"
"CHEMOTHERAPY"
Can I generate an index that only indexes the words on that list and ignores all the other words? (the reverse of using a stop-list)
Also, could it be done with a list of phrases instead of single words:
"CARDIAC ABLATION"
"ATRIOVENTRICULAR NODE"
"PULMONARY ABSCESS"
Thanks.
Please see if you can use any of the pieces of the following example.
SCOTT@orcl_11gR2> -- table containing list of phrases:
SCOTT@orcl_11gR2> create table phrases
2 (phrase varchar2 (21))
3 /
Table created.
SCOTT@orcl_11gR2> insert all
2 into phrases values ('TUBERCULOSIS')
3 into phrases values ('DIABETES')
4 into phrases values ('CHEMOTHERAPY')
5 into phrases values ('CARDIAC ABLATION')
6 into phrases values ('ATRIOVENTRICULAR NODE')
7 into phrases values ('PULMONARY ABSCESS')
8 select * from dual
9 /
6 rows created.
SCOTT@orcl_11gR2> -- ctxrule index on list of phrases:
SCOTT@orcl_11gR2> create index phrases_idx on phrases (phrase)
2 indextype is ctxsys.ctxrule
3 /
Index created.
SCOTT@orcl_11gR2> -- table to hold combination of documents and matching phrases:
SCOTT@orcl_11gR2> create table classifications
2 (document clob,
3 phrase varchar2 (60))
4 /
Table created.
SCOTT@orcl_11gR2> -- context index on classifications table:
SCOTT@orcl_11gR2> create index class_phrase_idx
2 on classifications (phrase)
3 indextype is ctxsys.context
4 parameters ('sync (on commit)')
5 /
Index created.
SCOTT@orcl_11gR2> -- regular index on classifications table:
SCOTT@orcl_11gR2> create index class_phrase_idx2
2 on classifications (phrase)
3 /
Index created.
SCOTT@orcl_11gR2> -- table for documents:
SCOTT@orcl_11gR2> create table documents
2 (document clob)
3 /
Table created.
SCOTT@orcl_11gR2> -- trigger to populate classifications table from documents table:
SCOTT@orcl_11gR2> create or replace trigger documents_bir
2 before insert on documents
3 for each row
4 begin
5 for r in
6 (select phrase
7 from phrases
8 where matches (phrase, :new.document) > 0)
9 loop
10 insert into classifications (document, phrase) values
11 (:new.document, r.phrase);
12 end loop;
13 end documents_bir;
14 /
Trigger created.
SCOTT@orcl_11gR2> -- inserts into documents table:
SCOTT@orcl_11gR2> insert all
2 into documents values ('word1 tuberculosis word2')
3 into documents values ('word3 diabetes word4')
4 into documents values ('word5 chemotherapy word6')
5 into documents values ('word7 cardiac ablation word8')
6 into documents values ('word9 atrioventricular node word10')
7 into documents values ('word11 pulmonary abscess word12')
8 into documents values ('word13 word14 word15')
9 select * from dual
10 /
7 rows created.
SCOTT@orcl_11gR2> commit
2 /
Commit complete.
SCOTT@orcl_11gR2> -- resulting population of classifications table:
SCOTT@orcl_11gR2> column phrase format a21
SCOTT@orcl_11gR2> column document format a34
SCOTT@orcl_11gR2> select phrase, document from classifications
2 /
PHRASE DOCUMENT
TUBERCULOSIS word1 tuberculosis word2
DIABETES word3 diabetes word4
CHEMOTHERAPY word5 chemotherapy word6
CARDIAC ABLATION word7 cardiac ablation word8
ATRIOVENTRICULAR NODE word9 atrioventricular node word10
PULMONARY ABSCESS word11 pulmonary abscess word12
6 rows selected.
SCOTT@orcl_11gR2> -- tokens that are indexed:
SCOTT@orcl_11gR2> select token_text from dr$class_phrase_idx$i
2 /
TOKEN_TEXT
ABLATION
ABSCESS
ATRIOVENTRICULAR
CARDIAC
CHEMOTHERAPY
DIABETES
NODE
PULMONARY
TUBERCULOSIS
9 rows selected.
SCOTT@orcl_11gR2> -- searches using text index:
SCOTT@orcl_11gR2> set autotrace on explain
SCOTT@orcl_11gR2> select phrase, document
2 from classifications
3 where contains (phrase, 'tuberculosis') > 0
4 /
PHRASE DOCUMENT
TUBERCULOSIS word1 tuberculosis word2
1 row selected.
Execution Plan
Plan hash value: 2513347404
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
| 0 | SELECT STATEMENT | | 1 | 2046 | 4 (0)| 00:00:01 |
| 1 | TABLE ACCESS BY INDEX ROWID| CLASSIFICATIONS | 1 | 2046 | 4 (0)| 00:00:01 |
|* 2 | DOMAIN INDEX | CLASS_PHRASE_IDX | | | 4 (0)| 00:00:01 |
Predicate Information (identified by operation id):
2 - access("CTXSYS"."CONTAINS"("PHRASE",'tuberculosis')>0)
Note
- dynamic sampling used for this statement (level=2)
SCOTT@orcl_11gR2> select phrase, document
2 from classifications
3 where contains (phrase, 'cardiac ablation') > 0
4 /
PHRASE DOCUMENT
CARDIAC ABLATION word7 cardiac ablation word8
1 row selected.
Execution Plan
Plan hash value: 2513347404
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
| 0 | SELECT STATEMENT | | 1 | 2046 | 4 (0)| 00:00:01 |
| 1 | TABLE ACCESS BY INDEX ROWID| CLASSIFICATIONS | 1 | 2046 | 4 (0)| 00:00:01 |
|* 2 | DOMAIN INDEX | CLASS_PHRASE_IDX | | | 4 (0)| 00:00:01 |
Predicate Information (identified by operation id):
2 - access("CTXSYS"."CONTAINS"("PHRASE",'cardiac ablation')>0)
Note
- dynamic sampling used for this statement (level=2)
SCOTT@orcl_11gR2> select phrase, document
2 from classifications
3 where contains (phrase, '%ab%') > 0
4 /
PHRASE DOCUMENT
DIABETES word3 diabetes word4
CARDIAC ABLATION word7 cardiac ablation word8
PULMONARY ABSCESS word11 pulmonary abscess word12
3 rows selected.
Execution Plan
Plan hash value: 2513347404
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
| 0 | SELECT STATEMENT | | 1 | 2046 | 4 (0)| 00:00:01 |
| 1 | TABLE ACCESS BY INDEX ROWID| CLASSIFICATIONS | 1 | 2046 | 4 (0)| 00:00:01 |
|* 2 | DOMAIN INDEX | CLASS_PHRASE_IDX | | | 4 (0)| 00:00:01 |
Predicate Information (identified by operation id):
2 - access("CTXSYS"."CONTAINS"("PHRASE",'%ab%')>0)
Note
- dynamic sampling used for this statement (level=2)
SCOTT@orcl_11gR2> -- searches using non-text index:
SCOTT@orcl_11gR2> select phrase, document
2 from classifications
3 where phrase = 'PULMONARY ABSCESS'
4 /
PHRASE DOCUMENT
PULMONARY ABSCESS word11 pulmonary abscess word12
1 row selected.
Execution Plan
Plan hash value: 4202264836
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
| 0 | SELECT STATEMENT | | 1 | 2034 | 1 (0)| 00:00:01 |
| 1 | TABLE ACCESS BY INDEX ROWID| CLASSIFICATIONS | 1 | 2034 | 1 (0)| 00:00:01 |
|* 2 | INDEX RANGE SCAN | CLASS_PHRASE_IDX2 | 1 | | 1 (0)| 00:00:01 |
Predicate Information (identified by operation id):
2 - access("PHRASE"='PULMONARY ABSCESS')
Note
- dynamic sampling used for this statement (level=2)
SCOTT@orcl_11gR2> select phrase, document
2 from classifications
3 where phrase = 'PULMONARY ABSCESS'
4 /
PHRASE DOCUMENT
PULMONARY ABSCESS word11 pulmonary abscess word12
1 row selected.
Execution Plan
Plan hash value: 4202264836
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
| 0 | SELECT STATEMENT | | 1 | 2034 | 1 (0)| 00:00:01 |
| 1 | TABLE ACCESS BY INDEX ROWID| CLASSIFICATIONS | 1 | 2034 | 1 (0)| 00:00:01 |
|* 2 | INDEX RANGE SCAN | CLASS_PHRASE_IDX2 | 1 | | 1 (0)| 00:00:01 |
Predicate Information (identified by operation id):
2 - access("PHRASE"='PULMONARY ABSCESS')
Note
- dynamic sampling used for this statement (level=2)
SCOTT@orcl_11gR2> select phrase, document
2 from classifications
3 where phrase like '%AB%'
4 /
PHRASE DOCUMENT
CARDIAC ABLATION word7 cardiac ablation word8
DIABETES word3 diabetes word4
PULMONARY ABSCESS word11 pulmonary abscess word12
3 rows selected.
Execution Plan
Plan hash value: 723026238
| Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time |
| 0 | SELECT STATEMENT | | 3 | 6102 | 0 (0)| 00:00:01 |
| 1 | TABLE ACCESS BY INDEX ROWID| CLASSIFICATIONS | 3 | 6102 | 0 (0)| 00:00:01 |
|* 2 | INDEX FULL SCAN | CLASS_PHRASE_IDX2 | 1 | | 0 (0)| 00:00:01 |
Predicate Information (identified by operation id):
2 - filter("PHRASE" IS NOT NULL AND "PHRASE" LIKE '%AB%')
Note
- dynamic sampling used for this statement (level=2)
SCOTT@orcl_11gR2>
Similar Messages
-
Text Indexing based on XML_SECTION_GROUP
I've text-indexed a column using a section group based on XML_SECTION_GROUP and containing 5 field sections corresponding to 5 xml tags.
It took a long time to index - somewhere around 12 hours - compared to 2 hours to do a vanilla text index on the same column / same data.
Is this reasonable - should I expect the indexing time to be roughly equivalent to text-indexing 5 separate columns?
Thanks in advance!
Edited by: Cathy Farrell on Jan 7, 2009 8:34 AMThe following section of the documentation addresses the question, "How long should indexing take?" and offers some suggestions on index memory settings to speed things up.
http://download.oracle.com/docs/cd/B28359_01/text.111/b28303/aoptim.htm#CCAPP9273 -
Can Pages 4.3 maintain defined text formatting for at a given list level?
I'm hoping the answer to this question is a simple 'duh' solution that I some how over looked. I'm using Pages 4.3 and I am trying to create a tiered list to organize ideas into different sublevels. I want to be able to write at a particular level, then create sub levels (return -> tab) with different formatting so the levels are easily distinguished at a glance. When I move back to the higher levels (return -> shift + tab), Pages maintaines the text formatting I used at the lower level, rather than returning to the previously used format at the higher level. For example, what I want is ....
Main 1 --- (Return -> Tab)
Sub 1 --- (Return -> Shift +Tab)
Main 2
What I get is...
Main 1 --- (Return -> Tab)
Sub 1 --- (Return -> Shift +Tab)
Main 2
This means that anytime I move up or down in the tiers of a list, I need to redefine the formatting for each new bullet. I tried creating my own list styles, but that does not appear to preserve changes made to fonts or sizes. This seems like such a simple function and time saver that I feel like I must be doing something wrong. It has been a while since I used pages, but I don't remember having these problems before. Does pages really require one to reset the formatting everytime the move between list levels?Thanks Michael!
So your suggestion is to create the pricing in ECC and then download it in CRM...
Now tat would mean that first the mapping has to be performed in ECC for the existing paroducts and product category..then create pricing for those mapped prod. cat. in ECC and then download it to CR M..plz correct me if I am wrong...
regards,
Aneesh -
Listing Views based on a given Table
With a query how to list the names of views that are based on a given table.
SELECT NAME, REFERENCED_NAME FROM ALL_DEPENDENCIES
WHERE TYPE = 'VIEW'
AND REFERENCED_NAME = 'table_name'
[/CODE] -
Building a JSP-based Web Report with a Parameter Form
Hi,
I tried in building a report as shown in the example in OTN under reports in the url
http://otn.oracle.com/products/reports/htdocs/getstart/examples/ParameterFormJSP/index.html
i.e for Building a JSP-based Web Report with a Parameter Form. The directions in this document were not clear and if any one document which is clear with instruction will be useful to me. In this example it is shown with search criteria with sigle text box and if any one had idea & code to place an combo box and population of the record group in the combo box.
Thank you in advance.hi,
we will be releasing a new example w.r.t creating a parameter form using the reports JSP within the next month.
as for your request for a combo box. this widget is not available via regular HTML form elements. you can either have a select list or dropdown list.
for a regular select list you would use the following (only pseudo-code)
<select ...>
<rw:foreach>
<option value="<rw:field .../>">
</rw:foreach>
</select>
to populate a select list.
regards,
philipp -
Hello folks,
Many times we need to retrieve records for given lists of PKs (or FKs), as:
p_pk_list := '11,22,33';
We work in 10g
A co-worker of mine had a good idea (I thought) to "help" the optimizer and build a recordset in the FROM clause and use it later in WHERE
SELECT ...
FROM tableName a,
(SELECT REGEXP_SUBSTR(p_pk_list, '[^,]+',1,ROWNUM) p_pk_id
FROM dual
CONNECT BY ROWNUM <= LENGTH(p_pk_list ) - LENGTH(REPLACE(p_pk_list ,','))) d_pk
WHERE
a.ID=d_pk.p_pk_id; -- (1)
The tragedy is that it takes 4 seconds to retrieve 5 records from the table (no other joins). The table has about 40 columns though and there are about 51000 records. With the SELECT REGEXP_SUBSTR in the WHERE clause, it's a bit worse.
If (1) is replaced by:
a.ID IN (11,22,33,44,55);
the execution takes 0.04 seconds.
My questions are:
1. Is this a bad idea to select records for a given list of PKs or FKs? Should one just go for one PK/FK instead?
2. Why the stiff performance penalty?
3. Ideally, it would be nice if this would work:
a.ID IN (p_array);
where p_array would be an array of integers
Any elegant sollutions?
Thanks a lot.
DanCheck the explain plan for both statements.
I would wager that the overhead you experience is due to the fact that you are comparing apples to oranges here.
(SELECT REGEXP_SUBSTR(p_pk_list, '[^,]+',1,ROWNUM) p_pk_id
FROM dual
CONNECT BY ROWNUM <= LENGTH(p_pk_list ) - LENGTH(REPLACE(p_pk_list ,','))) d_pkreturns a string.
a.ID IN (11,22,33,44,55);Is a list of numbers.
If you check the explain plan for the regexp version, you should see an implicit conversion being done for you (converting the number column into a string for comparison) which means you can't use any indexes defined on a.id.
If you want to use an array of numbers here's an approach using a built in array of numbers.
declare
v_number_list sys.odcinumberlist default sys.odcinumberlist();
begin
v_number_list.extend;
v_number_list(v_number_list.count) := 100;
v_number_list.extend;
v_number_list(v_number_list.count) := 200;
for vals in
select *
from all_objects
where object_id in
select column_value
from table(cast(v_number_list as sys.odcinumberlist))
loop
dbms_output.put_line(vals.object_name);
end loop;
end;
25 /
I_TYPED_VIEW1
I_NTAB2
PL/SQL procedure successfully completed.
ME_XE?Otherwise do an explicit TO_NUMBER on the regexp query so that you can use any indexes defined on the table in question. -
SQL Server 2008 R2 Express Edition and Full Text Indexing
Hello, we have recently upgraded our web front end server from SQL Server 2005 (Standard Edition) to SQL Server 2008 R2 Express Edition (in conjuction with upgrading our main production servers to SQL 2008 R2 Standard). We have 12 Databases on our production
SQL Server that are replicated to our web frontend server to the SQL Express instance. One of these databases has a FULL TEXT INDEX. The production database is running the Adobe iFilter version 9 64Bit. The FULL TEXT CATALOG has been created and populated
and performs searches as intended. However, upon replication, when using the search option on our web page based on that PDF iFilter, it no longer works. After examining the properties of the FULL TEXT CATALOG, we note that the Catalog size on the subscriber
end is 0MB in size (whereas it is 3MB on the Publication side). Also the Unique Key Count on the subscriber side is '1' whereas on the publisher side it is 30,000+. After examining the FT Indexing logs on the subscriber side shows an error: "Warning: No appropriate
filter was found during full-text index population" On the subscriber side which is running Windows Server 2003 and SQL Server 2008 R2 Express Edition, Adobe Reader 10.1.1 is installed (all 32Bit) with the Adobe iFilter AcroRdIF.dll. When running the SELECT
* from sys.fulltext_document_types T-Sql statement, the list returned shows the PDF filter to be installed and shows the correct path. Under the System Environment Variables, that path has also been installed (from previous recommendations in researching this
problem). After numerous reboots, service restarts and re-attempts to get the FT Daemon to crawl - no success. Can anyone please help with this problem? Is there something I am missing? In an attempt to work around this problem thinking there might be a version
conflict between the 64Bit version on the publisher and the 32Bit version on the subscriber, I disabled the replication of the FULL TEXT CATALOG and tried to create a new catalog on the subscriber with the same results. Thank you for your answers in advance
- Fustrated! Sorry, somehow this got posted originally under Server DesignHello Jeff hope your still out there. I wrote this question 2 years ago and upgraded to SQL Express with advanced services. Full Text replication worked until last week. We are operating in a virtual environment. My publisher box
is a Windows Server 2008 R2 (64bit) with SQL Server Standard Edition. My Web front subscriber is a Windows 2003 R2 (32bit) Server with SQL Server 2008 R2 Express SP1 with Advanced Services. Now the exact same thing is happening after 2+ years.
We are looking for possible updates that might have broken this but I am stretching that. Any clues please? 32bit vs. 64bit? -
How to pass a value to a filter prompt based on a value list?
I have a query that has a filter prompt that is based on a value list. I want to call this query from another query as a drill down.
So I build the URL to call the query and pass the value for the filter prompts as URL parameters. For the filter prompts that are simple text fields this works without problems, but how do I pass a value to the filter prompt that is based on the value list?
I tried passing
<parameterName>=<valueListId>:616:null
and that gives me "None" for the value list prompt as expected.
I then tried to pass the DisplayName (as I would do when setting a default value for the prompt).
Like this:
<parameterName>=<displayName>
but that does not work.
I also tried some variations/combinations like
<parameterName>=<valueListId>:616:<displayName>
but that does not work either.
So does anybody know how to pass a parameter to the value list prompt?Hi Martin,
I saw the following post which may help answer your question.
How to default a Value List or Object Picker to a particular value
Regards,
Reshma -
ORACLE TEXT INDEX ON VARCHAR2 COLUMN
Hello All,
I find a search in our application very slow so i thought of using ORACLE TEXT CTXCAT index based search but i find certain inconsistencies . How can this be avoided....The following query should not return result if i can replace with oracle text but i find few values....why is that...i have also given few sample results below....
SELECT first_name
FROM uc_partner_ms
WHERE
Upper(first_name) LIKE '%WIE%'
minus
SELECT first_name
FROM uc_partner_ms
WHERE CATSEARCH (first_name,'*wie*', null) > 0
RESULTS ....
Hans-Werner Mrowiec
Heinz Oesterwiemann GmbH
Helmut Froitzheim GmbH, Neuwied
Heribert Schwies
Hermann Twieling GmbH & Co. KG
Horst Breitwieser
Horst-Dieter Swie
The script used for creating index is
begin
ctx_ddl.create_preference('mylex', 'BASIC_LEXER');
ctx_ddl.set_attribute ( 'mylex', 'index_themes', 'NO');
ctx_ddl.set_attribute ( 'mylex', 'mixed_case', 'NO');
end;
CREATE INDEX partner_index ON uc_partner_ms (first_name)
INDEXTYPE IS CTXSYS.CTXCAT
parameters ( 'LEXER mylex' );
Where am i wrong i could not guess a trend in the results other than all being in lower case.....Catsearch does not support leading wildcards. As a workaround, you can use a query template with context grammar. Please see the reproduction and solution below.
SCOTT@orcl_11g> -- test environment:
SCOTT@orcl_11g> CREATE TABLE uc_partner_ms
2 (first_name VARCHAR2 (60))
3 /
Table created.
SCOTT@orcl_11g> SET DEFINE OFF
SCOTT@orcl_11g> INSERT ALL
2 INTO uc_partner_ms VALUES ('Hans-Werner Mrowiec')
3 INTO uc_partner_ms VALUES ('Heinz Oesterwiemann GmbH')
4 INTO uc_partner_ms VALUES ('Helmut Froitzheim GmbH, Neuwied')
5 INTO uc_partner_ms VALUES ('Heribert Schwies')
6 INTO uc_partner_ms VALUES ('Hermann Twieling GmbH & Co. KG')
7 INTO uc_partner_ms VALUES ('Horst Breitwieser')
8 INTO uc_partner_ms VALUES ('Horst-Dieter Swie')
9 SELECT * FROM DUAL
10 /
7 rows created.
SCOTT@orcl_11g> begin
2 ctx_ddl.create_preference('mylex', 'BASIC_LEXER');
3 ctx_ddl.set_attribute ( 'mylex', 'index_themes', 'NO');
4 ctx_ddl.set_attribute ( 'mylex', 'mixed_case', 'NO');
5 end;
6 /
PL/SQL procedure successfully completed.
SCOTT@orcl_11g> CREATE INDEX partner_index ON uc_partner_ms (first_name)
2 INDEXTYPE IS CTXSYS.CTXCAT
3 parameters ( 'LEXER mylex' )
4 /
Index created.
SCOTT@orcl_11g> -- reproduction:
SCOTT@orcl_11g> SELECT first_name
2 FROM uc_partner_ms
3 WHERE
4 Upper(first_name) LIKE '%WIE%'
5 minus
6 SELECT first_name
7 FROM uc_partner_ms
8 WHERE CATSEARCH (first_name,'*wie*', null) > 0
9 /
FIRST_NAME
Hans-Werner Mrowiec
Heinz Oesterwiemann GmbH
Helmut Froitzheim GmbH, Neuwied
Heribert Schwies
Hermann Twieling GmbH & Co. KG
Horst Breitwieser
Horst-Dieter Swie
7 rows selected.
SCOTT@orcl_11g> -- solution:
SCOTT@orcl_11g> SELECT first_name
2 FROM uc_partner_ms
3 WHERE
4 Upper(first_name) LIKE '%WIE%'
5 minus
6 SELECT first_name
7 FROM uc_partner_ms
8 WHERE CATSEARCH
9 (first_name,
10 '<query>
11 <textquery grammar="CONTEXT">
12 %wie%
13 </textquery>
14 </query>',
15 null) > 0
16 /
no rows selected
SCOTT@orcl_11g> -
Hi
Currently am working indexing method.I what to know what is mean by full-text indexing could please anyone explain with examples and links thanksThe
full-text index is the basis of iFTS (Integrated Full-Text Search). Starting with SQL Server 2005, Full-Text Search supports the creation of indexes on XML columns and allows you to do extremely very fast searches of textual contents
stored in columns of the char, nchar, varchar, nvarchar and so on.
So it basically creates an index similar to one you can find at the back of any book. It contains a list of words, with pointers to the tables and rows that contain the words. SQL Server calls
this index, called a full-text index, when you issue a full-text query; it returns a list of rows that contain the words in your search phrase as shown in here
SELECT
* FROM Person.Contact
WHERE
CONTAINS(*, ‘“peanut butter” NEAR “jam”’)
There are
two ways to create a full-text index, Using T-SQL commands, and
using the Full-Text Wizard.
You can find the Wizard here in SSMS
To build your full-text catalogs and indexes in using T-SQL, you need to use the
CREATE FULLTEXT commands.
There are three commands for full-text index creation and maintenance:
CREATE FULLTEXT CATALOG
CREATE FULLTEXT INDEX
ALTER FULLTEXT INDEX
I hope this helps too to clear up and gives you some hint in making do more research about it. If I were you I would buy this book and read if I need to have more knowledge about it. It's all about Full Text Search. Pro
Full-Text Search in SQL Server 2008 by Michael Coles with Hilary Cotter
Please remember to click “Mark as Answer” on the post that has answered your question as it is very relevant to other community members dealing with same problem in seeking the right answer -
How to build a query based on(UNION) 3 vendor InfoObject
Dear Experts:
I have a requirement to build one query based on 3 vendor InfoObjct: 0VENDOR + 0VEN_COMPC + 0VEN_PURORG.
I tried to build a multiprovider upon these 3 infoobjects, but when I Identify(Assign) the key for each InfoObject, supposely there should be 3 InfoObject for me to check (0VENDOR, 0VEN_COMPC and 0VEN_PURORG) so that I can UNION these 3 infoobjects together on vendor number. But since the reference infoobject of these 3 vendor master data is different, I can not check the 3 together.
Can anybody let me know how to build that query? I only need vendor number show once, and the attributes of 0VEN_COMPC and 0VEN_PURORG can be union to 0vENDOR.
Any post would be appreciated and thank you all in advance!
Best Regards!
TimHi,
you can create a link between the vendor objects itself, means link 0vendor with 0ven_compc and 0ven_purorg. This should give you a list of all vendors multiplied with the comp codes multiplied with the purch. org. May be here it is possible to create another link between a attribute (eg. comp_code of 0ven_purorg with comp_code of 0ven_compc). In case it is not possible you need to add this link information somehow. Another option might be to create 2 queries. One on a infoset of 0vendor and 0ven_purorg and another one on 0vendor and 0ven_compc.
regards
Siggi -
How do I build a field based on Checkboxes?
I am VERY new to Javascript...but I think I can do what I want, just not sure of the syntax...
I have a very large form with lots of checkboxes.
I want to build (fill) some text responses based on those checkboxes.
Assuming I have checkboxes 1 -3 (checkbox.1 - checkbox.3)
In each checkbox the export value is a something like "This is the text associated with checkbox #1"
On the last page there is a text Box called "Summary" (summary.1)
On my LAST page, I want to have a button with a MOUSE-UP script that takes the Export values in checkboxes 1 -3 and puts them into the Textfield "summary"
This SHOULD be easy right?
Eventually, if everything else works, I want to build a for-next loop that will cycle through LOTS of checkboxes and build a multi-line Summary, and maybe even Sort it -BUT- only do that when the "build" button is pressed, otherwise the form would always be thrashing....
This assumes that a non-checked box exportvalue = NULOk, I wanted to invoke a interactive debug session so I could type in javascript and see what it returned...
I figured I could fill in the form and have the debugger open next to it.... and qwery the form interactively by typing in commands as if they were script actions
Uhm...where is that... I tried in both Acrobat Pro-XI and reader to invode a debug session. Reader doesn't have one and Pro just showed me the console but nothing happned when I typed something into the console. I expected an error message or something. -
How to compute a global SCORE over a few oracle text indexed tables?
Dear experts!
I want to search a website with Oracle Text. The website consists of four tables:
- site
- chapter
- text
- binaries
Each table has two or three columns which should be indexed with oracle text. So I have created a MULTI_COLUMN_DATASTORE oracle text index on each table - So I have four indexes on my website.
When I want to search over the website I have to join my 4 tables (4 contain clauses). So how do I get a global SCORE over these 4 contains clauses?
The next question is can I change the weight of my text indexes (useful for the search hit list)? For example the highest weight has the site index, the second highest weight the chapter index and so on?
Thanks
MarkusIf it's a simple JOIN, then you could just add the scores for each CONTAINS clause
select score(1)+score(2)+score(3)+score(4)
from table1 t1,table2 t2, table3 t3,table4 t4
where [join conditions]
and contains(t1.col, 'xxx', 1) > 0 or
contains(t2, col, 'xxx', 2) > 0 or
... etc
then to change the weight you just add a multiplying factor.
Can't help thinking it's probably more complex than this, though. -
Problem with Office document structure when exporting in Windows vs full-text indexing in SQL Server
Post Author: Atarel
CA Forum: Exporting
Product: Crystal Report for .Net 2005Version: distributed with VS 2005Patches Applied: hot fix crnet20win32x86_en_chf.zipOperating System(s): Win2000 Pro SP4, WinXP SP2, Win 2003 Server SP1, Win 2003 Server SP2Database(s): SQL Server 2000, SQL Server 2005Error Messages: None
We are creating reports with Crystal Report for .Net. We both have a Windows and a Web application connecting to our database. The problem occurs only with the Windows application. We create a report and in the dialog that appears, we choose to export the report in MS Word format. Everythinglooks fine because after we save the document, MS Word is able to open and display the document. However, when we decide to add this Word document in the database in a table that has a image column bound to a full-text indexing schema, that document is never indexed. After fiddling around for a few hours, we realized that the Word document produced during the export is not a true Word document but rather a RTF document that was given a ".doc" extension. Is there a way to have a real Word document when exporting in Windows. The problem does not arise in Web because when we export, the report is displayed in Internet Explorer through the Office plugin. The Office plugin knows how to same a real Word document.
There is also a problem when exporting to Excel in Windows. It does not yield the same structure as in Web. The format of the export in Windows is not compatible with the Office IFilter of SQL Server 2000/2005, therefore the content is not available for search queries.
Any patches to fix this problem?
Regards,
Ian PerreaultPost Author: Atarel
CA Forum: Exporting
Product: Crystal Report for .Net 2005Version: distributed with VS 2005Patches Applied: hot fix crnet20win32x86_en_chf.zipOperating System(s): Win2000 Pro SP4, WinXP SP2, Win 2003 Server SP1, Win 2003 Server SP2Database(s): SQL Server 2000, SQL Server 2005Error Messages: None
We are creating reports with Crystal Report for .Net. We both have a Windows and a Web application connecting to our database. The problem occurs only with the Windows application. We create a report and in the dialog that appears, we choose to export the report in MS Word format. Everythinglooks fine because after we save the document, MS Word is able to open and display the document. However, when we decide to add this Word document in the database in a table that has a image column bound to a full-text indexing schema, that document is never indexed. After fiddling around for a few hours, we realized that the Word document produced during the export is not a true Word document but rather a RTF document that was given a ".doc" extension. Is there a way to have a real Word document when exporting in Windows. The problem does not arise in Web because when we export, the report is displayed in Internet Explorer through the Office plugin. The Office plugin knows how to same a real Word document.
There is also a problem when exporting to Excel in Windows. It does not yield the same structure as in Web. The format of the export in Windows is not compatible with the Office IFilter of SQL Server 2000/2005, therefore the content is not available for search queries.
Any patches to fix this problem?
Regards,
Ian Perreault -
Problem with oracle text indexes during import
We have a 9.2.0.6 database using oracle text features on a server with windows 2000 5.00.2195 SP4.
We need to export its data ( user ARIANE only ) and then import the result into another 9.2.0.6 database.
The import never comes to an end.
The only way to make it work is to use the "indexes=n" clause.
Then ( without the indexes ), we tried to create manually the oracle text indexes.
We get this error :
CREATE INDEX ARIANE.DOSTEXTE_DTTEXTE_CTXIDX ON ARIANE.DOSTEXTE (DTTEXTE)
INDEXTYPE IS CTXSYS.CONTEXT PARAMETERS('lexer ariane_lexer stoplist ctxsys.default_stoplist storage ariane_storage');
ORA-29855: erreur d'exécution de la routine ODCIINDEXCREATE
ORA-20000: Erreur Oracle Text :
DRG-10700: préférence inexistante : ariane_lexer
ORA-06512: à "CTXSYS.DRUE", ligne 157
ORA-06512: à "CTXSYS.TEXTINDEXMETHODS", ligne 219
We then tried to uninstall Oracle text and install it ( My Oracle Support [ID 275689.1] ). The index creation above still fails.
We also checked our Text installation and setup through My Oracle Support FAQ ( ID 153264.1 ) and everything seems ok.
Do we have to create some ARIANE* lexer preferences through specific pl/sql ( ctx_report* ? ) before importing anything from the ARIANE user ?
What do we need to do exactly when exporting data with oracle text features from one database to another given we used to restore the database through a copy of the entire windows files ?
Is there a specific order to follow to succeed an import ?
Thank you for your help.
Jean-michel, Nemours, FRANCEHi
index preferences are not exported, ie ariane_lexer + ariane_storage, only the Text index metada, thus the DRG-10700 from index DDL on target/import DB.
I recommend to use ctx_report.create_index_script on source/export DB, see Doc ID 189819.1 for details, export with indexes=N and then create text indexes manually after data import.
-Edwin
Maybe you are looking for
-
HP external USB DVD Drive not recognized by computer.
Have HP Mini-210 and HP external USB DVD Drive. When attached, the DVD drive lights and spins but computor will not recognize it. When checking Device Manager, it says no driver for DVD drive.. I try to reinstall the driver, and then it says I hav
-
Can I dual boot with MAC OS/X and Windows
What is the best way to configure a dual boot on my MAC Bookpro laptop? Also, can I dual boot Windows 8 and MAC OS?
-
Web Service Connection Date Input Values Converted to Number
I am using a Web Service Connection that has an input value called 'ModifiedOn' that is a date type. The problem that I have is that instead of sending a date string like '2008-08-04' it sends a number '39665' as the input to the web service method
-
How to Increase the retreving size of instances using PAPI filters.
Hi, How to Increase the retreving size of instances using PAPI filters. In my engine database instance size exceeds 2500 then we are getting following exception. If we login in to user workspace able to see the instances but while trying to retrieve
-
Is it possible to make a template for DVD-SP?
I know I can make templates in Motion and send the finished product eventually to DVD-SP, but can I make a template with drop-zones etc specifically to work with DVD-SP? I made one in Motion but the drop zones won't work in DVD-SP like they do with t