Thanks David-

I'll try the EntityWhereString first... I hope it works. I'd like to begin to 
fill the CMS system with textual data from service calls, blogs etc. Full text 
searches are going to be must for me.

Rick

David E Jones <[EMAIL PROTECTED]> wrote: 
Have you tried the performance of the ProductSearch stuff, or more specifically 
the keyword search part of it, to see if it is adequate?

This does sound like a special case where direct JDBC is the way to go. That 
just means you'll have some development to do as you can't use the tricks in 
the entity engine. And yes, that will require some technical effort to get the 
pieces tied together and there is no best practice or magic way to do it, so 
you'll just to buckle down and build whatever is needed.

You might try the EntityWhereString as a last resort before directly using 
JDBC. That takes a free form string that goes into the where clause.

-David


Richard Fleming wrote:
> David - 
> 
> Maybe you can help me... 
> 
> I need to query the products table and return 20 or so  possible product ids 
> from the following customer input -  "I need a maytag belt set for my maytag 
> washer" The columns involved in the query are productid, internal_name, 
> brand_name, description, long_description. The database has 1mil+ productid's 
> and the the results need to display in less than 5 seconds.
> 
> my solution was to create a full text search of a new column in the products 
> database utilizing the fts or tsearch2 plugin to postgres. The performance is 
> great and returns the results in milliseconds The problem is the operator for 
> the sql statement is @@ which the entity engine doesn't recognize.
> 
> Do you know of another way to perform this.?
> 
> Thanks
> Rick
> David E Jones  wrote: 
> The point would be to step back and define what sort of data you'd like to 
> get from the database and find another way for form the query.
> 
> -David
> 
> 
> Richard Fleming wrote:
>> David,
>>
>> Thanks for the reply. I'd love to use the entity engine. But because the @@ 
>> operator for tsearch's isn't part of the jdbc driver for postgres, I think 
>> I'm stuck. Is there a way within the entity engine to create a custom sql 
>> statement  and then  add it as an entity-condition tag or whatever?
>>
>> If not, I'll follow your other advice.
>>
>> Thanks again
>> Rick 
>>
>> David E Jones  wrote: 
>> This is more of a question about JDBC and FTL, ie somewhat independent of 
>> OFBiz.
>>
>> The freemarker.org site or searching on google might have some helpful tips 
>> on using a ResultSet object with FTL. I'm not aware of anything, but haven't 
>> looked. If you can't find anything there I'd recommend creating an 
>> implementation of the Iterator or List interfaces to wrap the ResultSet 
>> object, like we have with the EntityListIterator in OFBiz.
>>
>> You could also write some code in a bsh script or whatever to go through the 
>> ResultSet and put the data in a List of Maps that is easy to traverse in FTL.
>>
>> Actually, what I would do is step back and review the business level 
>> requirement and find an easier way to do the query so that you can use the 
>> nice easy tools and patterns already established...
>>
>> -David
>>
>>
>> Richard Fleming wrote:
>>> Rodrigo,
>>> Thanks for the reply.. but I can't use the delegator object. I have to use 
>>> a jdbc connection so that I can query the database with a non standard 
>>> operator (@@). The delegator doesn't support calling this operator. My life 
>>> would be much easier if it did. So I create a database connection using the 
>>> sqlprocessor  and return a java.sql.resultset which I add to the context. 
>>>
>>> I'm reading through the Freemarker docs but it would help to see an example 
>>> in ofbiz which utilizes a resultset.
>>>
>>> <#list rs1 as parts>
>>>
>>>
>>>
>>> Where rs1 is a java.sql.resultset object.
>>>
>>> Do you have any ideas?
>>> Rick
>>>
>>> Rick
>>>
>>> Rodrigo Souza  wrote: User delegator to data layer.
>>> Not use in .ftl files.
>>>
>>> 2007/8/6, Richard Fleming :
>>>> Hello all-
>>>>
>>>> I've put together a bsh script that puts a java.sql.resultset into the 
>>>> context. How do I create a list tag in my freemarker file to display the 
>>>> resultset?
>>>>
>>>> Thanks
>>>> Rick
>>>>
>>>>
>>>>
>>
> 
> 

Reply via email to