Oracle Beehive
  Oracle® Beehive RESTful Web Services API Reference
  Release 2 (2.0.1.7)
  E16658-04

Contents

Overview

Defines the data structure for a ExpertiseSearchClause used in a search request. A ExpertiseSearchClause can be dynamically generated from the search text supplied; or, an existing ExpertiseSearchClause can be explicitly supplied in a search request.

Rules specifying what constitutes a match can be specified in the matchType member. How the clause relates to terms (e.g. matches/does not match) can also be specified in the enforcement member.

Types of ExpertiseSearchClauses

Generated ExpertiseSearchClauses are created from terms extracted from the search text supplied. A term can be a single noun or a phrase (a group of words read or spoken as a unit).

If clauses generated from one or more Terms supplied in Boolean expressions or "quoted phrases", the clauses extracted will match the expression supplied. For example, if "systems analyst" is supplied, the ExpertiseSearchClause extracted is "systems analyst". If the Boolean expression database AND Oracle is supplied, the ExpertiseSearchClause will match this expression.

Note that two or more words supplied in a search string without a Boolean operator are interpreted as a Boolean "OR" expression. For example, if Thai restaurant is entered, the resulting Boolean ExpertiseSearchClause will be Thai OR restaurant.

However, if a block of text is supplied as search text, such as one or more complete sentences, a number of terms are extracted. Different types of clauses are then created based on the relationship between these terms. These types of clauses include Phrase-match clauses, Associated Word Clauses, and Single Word clauses.

Consider the following block of text below submitted for a search. The extracted terms are underlined:

Recently, BioCorp and PharmaCorp?s CropScience division settled lawsuits and a patent dispute related to genetically improved cotton. The companies also reached agreement on other cotton transformation patents.

Phrase-match clauses

Clauses that closely resemble word combinations within the text are generated from the top multi-word terms extracted. The strongest nouns within each clause are used to create a clause.

For example, this term: other cotton transformation patents

Yields this Boolean clause: cotton AND transformation AND patents

Associated-word clauses

Nouns that are used together within multiple terms are also grouped into clauses. These allow search to "widen the net" by looking at how key words are used together within the text supplied, resulting in a much richer search. These clauses take the form of key1 (key2 OR key3 OR key4). The commonly-occurring noun is key1; the next strongest associated words are the subsequent keys.

For example, these terms:

other cotton transformation patents

PharmaCorp's SynthoLycra cotton

Would generate this ExpertiseSearchClause, formatted as a Boolean expression:

cotton AND (SynthoLycra OR PharmaCorp OR patents)

Notice that cotton is the commonly-occurring word within these terms. PharmaCorp and SynthoLycra are also regarded as strong words because they occur frequently within the source text.

Single-word clauses

The top single-word terms within the text are also considered as ExpertiseSearchClauses, such as BioCorp, PharmaCorp, cotton and patents.

You can specify which clauses should be included in each band, and put a cap on how much these clauses contribute to the search. This gives you tremendous flexibility in specifying how much different types of clauses contribute to the search, regardless of weight.

Note that words with clauses can be "stemmed" or reduced to their roots before submission. This makes search more inclusive by finding terms containing any variation of a word. Use the stem parameter to enable stemming.

Members

Name Type Required Description

asStemIds

boolean

Whether the words within the expression are represented as stem ids.

boolexprLanguage

int

The bit-masked Language(s) of the search expression. Values are:
  • 1: ENGLISH
  • 2: FRENCH
  • 4: GERMAN
  • 32767: ALL (All enabled languages)
see ExpertiseLanguage

enforcement

int

The match enforcement to apply to matches. Values are:

expression

string

The string representation of the expression

matchLanguage

int

Language that matching profiles must use.

matchType

int

The requirements for a profile to match this clause. Values are:

stem

boolean

If true, words within a term are "stemmed" or reduced to their roots before the clause is used to perform a search. Stemming makes the search more inclusive. If false, the search is more restrictive. Default is false.

weight

float

Weighting to apply to this clause, as compared to the weight of other clauses included in the search request.

Hierarchy

Examples

Below are examples in JSON and XML formats. All examples are shown with all inherited members. Quoting when required is part of the examples, but you must obviously populate with your own data.

XML Example

(show inherited members)

<obh:expertiseSearchClause xsi:type="obh:expertiseSearchClause" xmlns:obh="http://www.oracle.com/beehive" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
        <obh:asStemIds>your_boolean_0</obh:asStemIds>
        <obh:boolexprLanguage>your_int_0</obh:boolexprLanguage>
        <obh:enforcement>your_int_0</obh:enforcement>
        <obh:expression>your_string_0</obh:expression>
        <obh:matchLanguage>your_int_0</obh:matchLanguage>
        <obh:matchType>your_int_0</obh:matchType>
        <obh:stem>your_boolean_0</obh:stem>
        <obh:weight>your_float_0</obh:weight>
</obh:expertiseSearchClause>

JSON Example

(show inherited members)

{
    "beeType":"expertiseSearchClause",
        "asStemIds":your_{http://www.oracle.com/beehive}asStemIds_as_boolean0,
        "boolexprLanguage":your_{http://www.oracle.com/beehive}boolexprLanguage_as_int0,
        "enforcement":your_{http://www.oracle.com/beehive}enforcement_as_int0,
        "expression":"your_{http://www.oracle.com/beehive}expression_as_string0",
        "matchLanguage":your_{http://www.oracle.com/beehive}matchLanguage_as_int0,
        "matchType":your_{http://www.oracle.com/beehive}matchType_as_int0,
        "stem":your_{http://www.oracle.com/beehive}stem_as_boolean0,
        "weight":your_{http://www.oracle.com/beehive}weight_as_float0
}

XML Schema


<xs:complexType name="expertiseSearchClause">
    <xs:sequence>
        <xs:element name="asStemIds" type="xs:boolean"/>
        <xs:element name="boolexprLanguage" type="xs:int"/>
        <xs:element name="enforcement" type="xs:int"/>
        <xs:element minOccurs="0" name="expression" type="xs:string"/>
        <xs:element name="matchLanguage" type="xs:int"/>
        <xs:element name="matchType" type="xs:int"/>
        <xs:element name="stem" type="xs:boolean"/>
        <xs:element name="weight" type="xs:float"/>
    </xs:sequence>
</xs:complexType>

        

References

The following data represents the references to expertiseSearchClause

Referenced By Resources

Not Referenced Directly by Resources

Referenced By Representaions