• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: Help - Relationships, Bindings, w/Full Text Search
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Help - Relationships, Bindings, w/Full Text Search


  • Subject: Re: Help - Relationships, Bindings, w/Full Text Search
  • From: Chuck Hill <email@hidden>
  • Date: Mon, 25 Sep 2006 14:21:16 -0700


On Sep 24, 2006, at 8:18 AM, Drew Thoeni wrote:

I'm using Frontbase's full text index to successfully return rows. The main goal is to allow users to search large-full text columns, returning enterprise objects. I have broken this into three specific requirements as I can't seem to fulfill more than two, regardless of approach.

1) Search for strings in a large text column using Frontbase's full text index (requires SQL such as "...where SATISFIES (full_text_index, search_string)...".
2) Allow user input and pass this as a parameter to the fileSpec for a query.
3) Create or return EOs so as to have relationship information so as to provide key value coding to related tables.


It seems I'm missing something as I can only meet two of the three above at a time. Here are the options performed so far:

A) Using rawRowsForSQL I can do 1 and 2 above. I have converted the results into enterprise objects but do not know how to perform an addObjectToBothSidesOfRelationshipWithKey which would allow access to related objects (such as code tables).

I am not following what your problem here is. If you have an eo as converted from (1) and (2) why can you not do eo.addObjectToBothSidesOfRelationshipWithKey(tag, "tag")?




B) Using objectsWithFetchSpecificationAndBindings I can do 2 and 3 above. But EOModeler does not allow the "SATISFIES" term, even when typing it into the fetchSepc in "Use Raw SQL Expression."

You would need to extend EOF to do that. Pierre Bernard's qualifiers would be the place to start for this.




C) Using a stored procedure I can do 1 and 3 above. However, I do not see a way of passing a user-defined search into the store procedure from WebObjects.

No ideas on that.


Perhaps there is a much better and non-database specific way to quickly search large text fields with features such a stemming, wildcards, etc.

For a non-database specific way, see http://lucene.apache.org/ The basic idea is much like handling the rawsRowsFromSQL result: you index the text and store the entity name and PK with the text. Do a Lucene search, and convert the entity name and PK back into an EO. It takes a while to wrap your head around it.



Chuck

--

Practical WebObjects - for developers who want to increase their overall knowledge of WebObjects or who are trying to solve specific problems. http://www.global-village.net/products/practical_webobjects





_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list      (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden


  • Follow-Ups:
    • Re: Help - Relationships, Bindings, w/Full Text Search
      • From: Drew Thoeni <email@hidden>
References: 
 >Help - Relationships, Bindings, w/Full Text Search (From: Drew Thoeni <email@hidden>)

  • Prev by Date: Re: Deadlock using EOObjectStore.invalidateObjectsWithGlobalIDs(NSArray)
  • Next by Date: Re: WOUnit and EOEditingContext not found
  • Previous by thread: Help - Relationships, Bindings, w/Full Text Search
  • Next by thread: Re: Help - Relationships, Bindings, w/Full Text Search
  • Index(es):
    • Date
    • Thread