Re: Can Apache Solr Handle TeraByte Large Data

2012-01-14 Thread Otis Gospodnetic
Hello,
 
Inline

- Original Message -
> From: mustafozbek 
> 
> I am an apache solr user about a year. I used solr for simple search tools
> but now I want to use solr with 5TB of data. I assume that 5TB data will be
> 7TB when solr index it according to filter that I use. And then I will add
> nearly 50MB of data per hour to the same index.
> 1-    Are there any problem using single solr server with 5TB data. (without
> shards)
>    a-    Can solr server answers the queries in an acceptable time

Not likely, unless the diversity of queries is very small and OS can keep the 
relevant parts of the index cached and Solr caches get hit a lot.

>    b-    what is the expected time for commiting of 50MB data on 7TB index.

Depends on settings like ramBufferSizeMB and how you add the data (e.g. via 
DIH, via SolrJ, via csvn import...)

>    c-    Is there an upper limit for index size.

Yes, there are Lucene doc IDs that limit its size, but you will hit you will 
hit hardware limits before you hit that limit.

> 2-    what are the suggestions that you offer
>    a-    How many shards should I use

Depends primarily on the number of servers available and their capacity.

>    b-    Should I use solr cores

Sounds like you should really start by using SolrCloud.

>    c-    What is the committing frequency you offered. (is 1 hour OK)

Depends on how often you want to see new data show up in search results.  Some 
people need that to be immediately, or 1 second or 1 hour, while some are OK 
with 24h.


> 3-    are there any test results for this kind of large data


Nothing official, but it's been done.  For example, we've done large-scale 
stuff like this with Solr for our clients at Sematext, but we can't publish 
technical details.

> There is no available 5TB data, I just want to estimate what will be the
> result.
> Note: You can assume that hardware resourses are not a problem.


Otis

Performance Monitoring SaaS for Solr - 
http://sematext.com/spm/solr-performance-monitoring/index.html


Re: server stop responding in few hours due to CLOSE_WAIT

2012-01-14 Thread Jonty Rhods
Hi,

I set the parameter as describe in the blog link but still same problem I
am facing.
In test class when I run it, It run perfectly few minutes but after certain
thread it start responding slow and at same time the CLOSE_WAIT start
increasing. I also notice that when I terminate test class all CLOSE_WAIT
become TIME_WAIT and in a minute TIME_WAIT cleaned.

Please help..


On Fri, Jan 13, 2012 at 11:10 PM, Mikhail Khludnev <
mkhlud...@griddynamics.com> wrote:

> Hello,
>
> It sounds like disabled http keep alive (connection cache). Here is the
> solution<
> http://blog.griddynamics.com/2011/04/fast-hessian-methods-leads-to.html
> >for
> jdk's http client. Unfortunately I have no experience with your
> Commons
> Http Client,  but cm.closeIdleConnections(0L) looks very suspicious.
>
> Please let me know whether it works for you.
>
> Regards
>
> On Fri, Jan 13, 2012 at 7:24 PM, Jonty Rhods 
> wrote:
>
> > Hi All ,
> >
> > I am facing problem of too many CLOSE_WAIT.
> > My env is  :
> >
> > solr 3.4 in Linux RHEL 5.2. I am getting around 1 million request per day
> > on application server on my production.
> > Production server is communicating locally with solr server.
> > I have 5 core setup and for each core I am using seprate instance of
> > solrServer with following snippet of code.
> >
> > MultiThreadedHttpConnectionManager cm=new
> > MultiThreadedHttpConnectionManager();
> >cm.getParams().setMaxTotalConnections(100);
> >cm.getParams().setDefaultMaxConnectionsPerHost(100);
> >cm.closeIdleConnections(0L);
> >HttpClient httpClient=new HttpClient(cm);
> >server=new CommonsHttpSolrServer(url, httpClient);
> >
> > At starting my server responding fine but as time progress it start
> > responding slow and then stop working (within a day). Only solution at
> that
> > time is to reset the application server.
> > What I notice is at the time when server start responding slow that time
> > CLOSE_WAIT increased. When I reset the application server CLOSE_WAIT
> become
> > 0. I search and find it is due to CLOSE_WAIT.
> >
> > Please suggest me how to resolve this CLOSE_WAIT issue.
> >
> > BR
> > Jonty
> >
>
>
>
> --
> Sincerely yours
> Mikhail Khludnev
> Lucid Certified
> Apache Lucene/Solr Developer
> Grid Dynamics
>
> 
>  
>


Re: server stop responding in few hours due to CLOSE_WAIT

2012-01-14 Thread Mikhail Khludnev
Jonty,

That blog post explain what the problem is, but solution described there
works for jdk's http
clientonly.
AFAIK you use Commons Http client, please refer to its' manuals or
post your question to related forum. Perhaps increasing the
timeout
help
you.

Regards

On Sat, Jan 14, 2012 at 2:56 PM, Jonty Rhods  wrote:

> Hi,
>
> I set the parameter as describe in the blog link but still same problem I
> am facing.
> In test class when I run it, It run perfectly few minutes but after
> certain thread it start responding slow and at same time the CLOSE_WAIT
> start increasing. I also notice that when I terminate test class all
> CLOSE_WAIT become TIME_WAIT and in a minute TIME_WAIT cleaned.
>
> Please help..
>
>
> On Fri, Jan 13, 2012 at 11:10 PM, Mikhail Khludnev <
> mkhlud...@griddynamics.com> wrote:
>
>> Hello,
>>
>> It sounds like disabled http keep alive (connection cache). Here is the
>> solution<
>> http://blog.griddynamics.com/2011/04/fast-hessian-methods-leads-to.html
>> >for
>>
>> jdk's http client. Unfortunately I have no experience with your
>> Commons
>> Http Client,  but cm.closeIdleConnections(0L) looks very suspicious.
>>
>> Please let me know whether it works for you.
>>
>> Regards
>>
>> On Fri, Jan 13, 2012 at 7:24 PM, Jonty Rhods 
>> wrote:
>>
>> > Hi All ,
>> >
>> > I am facing problem of too many CLOSE_WAIT.
>> > My env is  :
>> >
>> > solr 3.4 in Linux RHEL 5.2. I am getting around 1 million request per
>> day
>> > on application server on my production.
>> > Production server is communicating locally with solr server.
>> > I have 5 core setup and for each core I am using seprate instance of
>> > solrServer with following snippet of code.
>> >
>> > MultiThreadedHttpConnectionManager cm=new
>> > MultiThreadedHttpConnectionManager();
>> >cm.getParams().setMaxTotalConnections(100);
>> >cm.getParams().setDefaultMaxConnectionsPerHost(100);
>> >cm.closeIdleConnections(0L);
>> >HttpClient httpClient=new HttpClient(cm);
>> >server=new CommonsHttpSolrServer(url, httpClient);
>> >
>> > At starting my server responding fine but as time progress it start
>> > responding slow and then stop working (within a day). Only solution at
>> that
>> > time is to reset the application server.
>> > What I notice is at the time when server start responding slow that time
>> > CLOSE_WAIT increased. When I reset the application server CLOSE_WAIT
>> become
>> > 0. I search and find it is due to CLOSE_WAIT.
>> >
>> > Please suggest me how to resolve this CLOSE_WAIT issue.
>> >
>> > BR
>> > Jonty
>> >
>>
>>
>>
>> --
>> Sincerely yours
>> Mikhail Khludnev
>> Lucid Certified
>> Apache Lucene/Solr Developer
>> Grid Dynamics
>>
>> 
>>  
>>
>
>


-- 
Sincerely yours
Mikhail Khludnev
Lucid Certified
Apache Lucene/Solr Developer
Grid Dynamics


 


Re: linking query in DIH fails with sql syntax error when specific fields contain bad data

2012-01-14 Thread Mikhail Khludnev
One more idea. If your data fits into heap you can join data by DIH.
see Example 2 in
http://wiki.apache.org/solr/DataImportHandler#CachedSqlEntityProcessor

but be aware that  where="xid=x.id" were broken in trunk around r1201784.
see
https://issues.apache.org/jira/browse/SOLR-2933
but it works in 3.x.

Regards

On Sat, Jan 14, 2012 at 12:45 AM, Mikhail Khludnev <
mkhlud...@griddynamics.com> wrote:

> Hello,
>
> I'm afraid you can only vote
> https://issues.apache.org/jira/browse/SOLR-1262
>
> Regards
>
>
> On Fri, Jan 13, 2012 at 11:16 PM, geeky2  wrote:
>
>>
>> hello all,
>>
>>
>> some of my records contain bad data i the orb_itm_id column.
>>
>> example:
>>
>> select * from prtxtps_prt_summ where orb_itm_id like '''%';
>>
>> prd_gro_id spp_id  orb_itm_id ds_tx rnk_no
>> 0022   335 ' LONG. (TERMINAL ATTACH   )' LONG. (TERMINAL
>> ATTACH)   0
>> 0042   596 ', FAN MOTOR CAPACITOR S   TRAP 0
>>
>>
>> this is causing the indexing process to fail on the bad records - with a
>> sql
>> syntax error
>>
>>
>> is there a way i can trap for this and cleans the "'" before the sql is
>> constructed?
>>
>> mark
>>
>> 
>>> url="jdbc:informix-sqli://
>> hawaii.sears.com:1525/lis0d000d:informixserver=ifmx00289_tcp"
>> user="pdrp" password="parts234" batchSize="10"/>
>>
>>> query="select *, 1 as item_type from prtxtps_prt_summ">
>>>
>> template="${core1-parts.prd_gro_id},${core1-parts.spp_id},${core1-parts.orb_itm_id}"/>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>   
>> 
>>
>>
>>
>>
>>
>> 2012-01-13 12:27:38,912 SEVERE
>> [org.apache.solr.handler.dataimport.DataImporter] (Thread-27) Full Import
>> failed:org.apache.solr.handler.dataimport.DataImportHandlerException:
>> Unable
>> to execute query: SELECT pa.uom_hi, pa.att_val_hi, pa.uom_low,
>> pa.att_val_low, a.att_nm FROM prtxtpa_att_val pa, prtxtat_att a WHERE
>> pa.att_id = a.att_id and pa.orb_itm_id = '' LONG. (TERMINAL ATTACH' and
>> pa.spp_id = '335' and pa.prd_gro_id = '0022' and pa.att_val_hi is not NULL
>> Processing Document # 119
>>at
>>
>> org.apache.solr.handler.dataimport.DataImportHandlerException.wrapAndThrow(DataImportHandlerException.java:72)
>>at
>>
>> org.apache.solr.handler.dataimport.JdbcDataSource$ResultSetIterator.(JdbcDataSource.java:253)
>>at
>>
>> org.apache.solr.handler.dataimport.JdbcDataSource.getData(JdbcDataSource.java:210)
>>at
>>
>> org.apache.solr.handler.dataimport.JdbcDataSource.getData(JdbcDataSource.java:39)
>>at
>>
>> org.apache.solr.handler.dataimport.SqlEntityProcessor.initQuery(SqlEntityProcessor.java:59)
>>at
>>
>> org.apache.solr.handler.dataimport.SqlEntityProcessor.nextRow(SqlEntityProcessor.java:73)
>>at
>>
>> org.apache.solr.handler.dataimport.EntityProcessorWrapper.nextRow(EntityProcessorWrapper.java:238)
>>at
>>
>> org.apache.solr.handler.dataimport.DocBuilder.buildDocument(DocBuilder.java:591)
>>at
>>
>> org.apache.solr.handler.dataimport.DocBuilder.buildDocument(DocBuilder.java:617)
>>at
>>
>> org.apache.solr.handler.dataimport.DocBuilder.doFullDump(DocBuilder.java:267)
>>at
>> org.apache.solr.handler.dataimport.DocBuilder.execute(DocBuilder.java:186)
>>at
>>
>> org.apache.solr.handler.dataimport.DataImporter.doFullImport(DataImporter.java:359)
>>at
>>
>> org.apache.solr.handler.dataimport.DataImporter.runCmd(DataImporter.java:427)
>>at
>>
>> org.apache.solr.handler.dataimport.DataImporter$1.run(DataImporter.java:408)
>> Caused by: java.sql.SQLException: A syntax error has occurred.
>>
>>
>>
>>
>>
>>
>>
>> --
>> View this message in context:
>> http://lucene.472066.n3.nabble.com/linking-query-in-DIH-fails-with-sql-syntax-error-when-specific-fields-contain-bad-data-tp3657482p3657482.html
>> Sent from the Solr - User mailing list archive at Nabble.com.
>>
>
>
>
> --
> Sincerely yours
> Mikhail Khludnev
> Lucid Certified
> Apache Lucene/Solr Developer
> Grid Dynamics
>
> 
>  
>
>


-- 
Sincerely yours
Mikhail Khludnev
Lucid Certified
Apache Lucene/Solr Developer
Grid Dynamics


 


Faceting Question

2012-01-14 Thread Jamie Johnson
I'm trying to figure out a way to execute a query which would allow me
to say there were x documents over this period of time with type a, y
documents over the same period of time with type b and z documents
over the same period of time with type c.  I was thinking of doing
this using range faceting where I'd execute 3 separate queries of the
form:

solr/select?q=type:a&facet.range=datefield&facet.start=NOW-1YEAR&facet.end=NOW
solr/select?q=type:b&facet.range=datefield&facet.start=NOW-1YEAR&facet.end=NOW
solr/select?q=type:c&facet.range=datefield&facet.start=NOW-1YEAR&facet.end=NOW

ideally I'd like to do this in a single request.  Is this possible?
I'm thinking about something like this

q=*:*&fq={!tag=a}-type:(b c)&fq={!tag=b}-type:(a
b)&fq={!tag=c}-type:(a b)&facet=on&facet.field={!ex=a
key=a_datefield}datefield&facet.field={!ex=b
key=b_datefield}datefield&facet.field={!ex=c
key=c_datefield}datefield&facet.start=NOW-1YEAR&facet.end=NOW

Should I consider trying to do this or is it better to do this some
other way (separate queries or any other ideas?) for performance
reasons?  Am I over complicating the issue be trying to do this in one
shot?

Any thoughts would be greatly appreciated.


GermanAnalyzer

2012-01-14 Thread spring
Hi,

I'm switching from Lucene 2.3 to Solr 3.5. I want to reuse the existing
indexes (huge...).

In Lucene I use an untweaked org.apache.lucene.analysis.de.GermanAnalyzer.

What is an equivalent fieldType definition in Solr 3.5?

Thank you



Re: Faceting Question

2012-01-14 Thread Lee Carroll
if "type" is a field use field faceting with an fq

q=datefield:[start TO end]&fq=type:(a  b c)&facet.field=type



On 14 January 2012 17:56, Jamie Johnson  wrote:
> I'm trying to figure out a way to execute a query which would allow me
> to say there were x documents over this period of time with type a, y
> documents over the same period of time with type b and z documents
> over the same period of time with type c.  I was thinking of doing
> this using range faceting where I'd execute 3 separate queries of the
> form:
>
> solr/select?q=type:a&facet.range=datefield&facet.start=NOW-1YEAR&facet.end=NOW
> solr/select?q=type:b&facet.range=datefield&facet.start=NOW-1YEAR&facet.end=NOW
> solr/select?q=type:c&facet.range=datefield&facet.start=NOW-1YEAR&facet.end=NOW
>
> ideally I'd like to do this in a single request.  Is this possible?
> I'm thinking about something like this
>
> q=*:*&fq={!tag=a}-type:(b c)&fq={!tag=b}-type:(a
> b)&fq={!tag=c}-type:(a b)&facet=on&facet.field={!ex=a
> key=a_datefield}datefield&facet.field={!ex=b
> key=b_datefield}datefield&facet.field={!ex=c
> key=c_datefield}datefield&facet.start=NOW-1YEAR&facet.end=NOW
>
> Should I consider trying to do this or is it better to do this some
> other way (separate queries or any other ideas?) for performance
> reasons?  Am I over complicating the issue be trying to do this in one
> shot?
>
> Any thoughts would be greatly appreciated.


Re: Faceting Question

2012-01-14 Thread Yonik Seeley
On Sat, Jan 14, 2012 at 12:56 PM, Jamie Johnson  wrote:
> I'm trying to figure out a way to execute a query which would allow me
> to say there were x documents over this period of time with type a, y
> documents over the same period of time with type b and z documents
> over the same period of time with type c.  I was thinking of doing
> this using range faceting where I'd execute 3 separate queries of the
> form:
>
> solr/select?q=type:a&facet.range=datefield&facet.start=NOW-1YEAR&facet.end=NOW
> solr/select?q=type:b&facet.range=datefield&facet.start=NOW-1YEAR&facet.end=NOW
> solr/select?q=type:c&facet.range=datefield&facet.start=NOW-1YEAR&facet.end=NOW
>
> ideally I'd like to do this in a single request.  Is this possible?
> I'm thinking about something like this
>
> q=*:*&fq={!tag=a}-type:(b c)&fq={!tag=b}-type:(a
> b)&fq={!tag=c}-type:(a b)&facet=on&facet.field={!ex=a
> key=a_datefield}datefield&facet.field={!ex=b
> key=b_datefield}datefield&facet.field={!ex=c
> key=c_datefield}datefield&facet.start=NOW-1YEAR&facet.end=NOW

facet.range is meant to automatically facet over many ranges - if you
really just want 3 counts (one per type) then facet.query is a much
simpler way to achieve that.

solr/select?
q=datefield:[NOW-1YEAR TO NOW]
facet.query=type:a
facet.query=type:b
facet.query=type:c

And remember to round NOW if you want better cache hits for the base
query... something like this perhaps:
q=datefield:[NOW/MINUTE-1YEAR TO NOW/MINUTE]

-Yonik
http://www.lucidimagination.com


> Should I consider trying to do this or is it better to do this some
> other way (separate queries or any other ideas?) for performance
> reasons?  Am I over complicating the issue be trying to do this in one
> shot?
>
> Any thoughts would be greatly appreciated.


Re: Faceting Question

2012-01-14 Thread Yonik Seeley
On Sat, Jan 14, 2012 at 1:12 PM, Lee Carroll
 wrote:
> if "type" is a field use field faceting with an fq
>
> q=datefield:[start TO end]&fq=type:(a  b c)&facet.field=type

Yep, that will work too.

-Yonik
http://www.lucidimagination.com


Re: Faceting Question

2012-01-14 Thread Jamie Johnson
I'm not sure that will give me what I want, most likely because I was
clear what I'm looking for.  I would like to take this information and
populate a chart so you could see how many documents were created over
time of a particular type.  So basically I need the range queries so I
can populate the chart (the gaps will be larger/smaller depending on
the total size of the range, say I'm looking for 100 samples).  Does
that make more sense?

On Sat, Jan 14, 2012 at 1:15 PM, Yonik Seeley
 wrote:
> On Sat, Jan 14, 2012 at 1:12 PM, Lee Carroll
>  wrote:
>> if "type" is a field use field faceting with an fq
>>
>> q=datefield:[start TO end]&fq=type:(a  b c)&facet.field=type
>
> Yep, that will work too.
>
> -Yonik
> http://www.lucidimagination.com


Re: FacetComponent: suppress original query

2012-01-14 Thread Dmitry Kan
OK, let me clarify it:

if solrconfig has maxBooleanClauses set to 1000 for example, than queries
with clauses more than 1000 in number will be rejected with the mentioned
exception.
What I want to do is automatically split such queries into sub-queries with
at most 1000 clauses inside SOLR and send them to shards. I have already
done the splitting and sending code, but how to bypass the
maxBooleanClauses check?

Dmitry

On Fri, Jan 13, 2012 at 7:40 PM, Chris Hostetter
wrote:

>
> : I would like to "by-pass" the maxBooleanClauses limit in such a way, that
> : those queries that contain boolean clauses more than maxBooleanClauses in
> : the number, would be automatically split into sub-queries. That part is
> : done.
> :
> : Now, when such a query arrives, solr throws
> :
> : org.apache.lucene.queryParser.ParseException: Cannot parse
> : 'AccessionNumber:(TS-E_284668 OR TS-E_284904 OR 950123-11-086962 OR
> : TS-AS_292840 OR TS-AS_295661 OR TS-AS_296320 OR TS-AS_296805 OR
> : TS-AS_296819 OR TS-AS_296820)': too many boolean clauses
>
> I don't understand your question/issue ... you say you've already worked
> arround the maxBooleanClauses (ie: "That part is done") but you didn't say
> how, and in your followup quesiton, it sounds like you are still hitting
> the limit of maxBooleanClauses.
>
> So what exactly have you changed/done that is "done" and what is the
> new problem?
>
>
> -Hoss
>



-- 
Regards,

Dmitry Kan


Re: GermanAnalyzer

2012-01-14 Thread Robert Muir
On Sat, Jan 14, 2012 at 12:58 PM,   wrote:
> Hi,
>
> I'm switching from Lucene 2.3 to Solr 3.5. I want to reuse the existing
> indexes (huge...).

If you want to use a Lucene 2.3 index, then you should set this in
your solrconfig.xml:

LUCENE_23

>
> In Lucene I use an untweaked org.apache.lucene.analysis.de.GermanAnalyzer.
>
> What is an equivalent fieldType definition in Solr 3.5?


  


-- 
lucidimagination.com


Re: GermanAnalyzer

2012-01-14 Thread Lance Norskog
Has the GermanAnalyzer behavior changed at all? This is another kind
of mismatch, and it can cause very subtle problems.  If text is
indexed and queried using different Analyzers, queries will not do
what you think they should.

On Sat, Jan 14, 2012 at 1:38 PM, Robert Muir  wrote:
> On Sat, Jan 14, 2012 at 12:58 PM,   wrote:
>> Hi,
>>
>> I'm switching from Lucene 2.3 to Solr 3.5. I want to reuse the existing
>> indexes (huge...).
>
> If you want to use a Lucene 2.3 index, then you should set this in
> your solrconfig.xml:
>
> LUCENE_23
>
>>
>> In Lucene I use an untweaked org.apache.lucene.analysis.de.GermanAnalyzer.
>>
>> What is an equivalent fieldType definition in Solr 3.5?
>
>    
>      
>    
>
> --
> lucidimagination.com



-- 
Lance Norskog
goks...@gmail.com


Re: GermanAnalyzer

2012-01-14 Thread Robert Muir
On Sat, Jan 14, 2012 at 5:09 PM, Lance Norskog  wrote:
> Has the GermanAnalyzer behavior changed at all? This is another kind
> of mismatch, and it can cause very subtle problems.  If text is
> indexed and queried using different Analyzers, queries will not do
> what you think they should.

It acts the same as it did in 2.3 if you use
LUCENE_23 in your solrconfig,
as I already recommended.

-- 
lucidimagination.com


Re: Synonym configuration not working?

2012-01-14 Thread Michael Lissner
Just replying for others in the future. The answer to this is to do 
synonyms at index time, not at query time.


Mike

On Fri 06 Jan 2012 02:35:23 PM PST, Michael Lissner wrote:
I'm trying to set up some basic synonyms. The one I've been working on 
is:


us, usa, united states

My understanding is that adding that to the synonym file will allow 
users to search for US, and get back documents containing usa or 
united states. Ditto for if a user puts in usa or united states.


Unfortunately, with this in place, when I do a search, I get the 
results for items that contain all three of the words - it's doing an 
AND of the synonyms rather than an OR.


If I turn on debugging, this is indeed what I see (plus some stemming):
(+DisjunctionMaxQuery(((westCite:us westCite:usa westCite:unit) | 
(text:us text:usa text:unit) | (docketNumber:us docketNumber:usa 
docketNumber:unit) | ((status:us status:usa status:unit)^1.25) | 
(court:us court:usa court:unit) | (lexisCite:us lexisCite:usa 
lexisCite:unit) | ((caseNumber:us caseNumber:usa 
caseNumber:unit)^1.25) | ((caseName:us caseName:usa 
caseName:unit)^1.5/no_coord


Am I doing something wrong to cause this? My defaultOperator is set to 
AND, but I'd expect the synonym filter to understand that.


Any help?

Thanks,

Mike


best query for one-box search string over multiple types & fields?

2012-01-14 Thread Johnny Marnell
hi all,

short of it: i want "queen bohemian rhapsody" to return that song named
"Bohemian Rhapsody" by the artist named "Queen", rather than songs with
titles like "Bohemian Rhapsody (Queen Cover)".

i'm indexing a catalog of music with these types of docs and their fields:

artist (artistName), album (albumName, artistName), and song (songName,
albumName, artistName).

the client is one search box, and i'm having trouble handling searching
over multiple multifields and weighting their exactness.  when a user types
"queen", i want the artist Queen to be the first hit, and then albums &
songs titled "queen".

if "queen bohemian rhapsody" is searched, i want to return that song, but
instead i'm getting songs like "Bohemian Rhapsody (Queen Cover)" by "Stupid
Queen Tribute Band" because all three terms are in the songName, i'm
guessing.  what kind of query do i need?

i'm indexing all of these fields as multi-fields with ngram, shingle (i
think this might be really useful for my use case?), keyword, and standard.
 that appears to be working, but i'm not sure how to combine all of this
together over multiple multi-fields.

if anyone has good links to broadly summarized use cases of Indexing and
Querying, that would be great - i would think this would be a common
situation but i can't find any good resources on the web.  and i'm having
trouble understanding scoring and boosting.

this was my first post, hope i did it right, thanks so much!

-j