Hi all,

I have a field set up like this:

<field name="common_names" multiValued="true" type="text" indexed="true"
stored="true" required="false" />

And I have some records:

RECORD1
<arr name="common_names">
<str>companion to mankind</str>
<str>pooch</str>
</arr>

RECORD2
<arr name="common_names">
<str>companion to womankind</str>
<str>man's worst enemy</str>
</arr>

I would like to write a query that will match the beginning of a word within
the term. Here is the query I would use as it exists now:

http://localhost:8983/solr/search/?q=*:*&fq={!q.op=AND%20df=common_names}"companion
man"~10

In the above example. I would want to return only RECORD1.

The query as it exists right now is designed to only match records where
both words are present in the same term. So if I changed man to mankind in
the query, RECORD1 will be returned.

Even though the phrases companion and man exist in the same term in RECORD2,
I do not want RECORD2 to be returned because 'man' is not at the beginning
of the word.

How can I achieve this?

Thanks,

Brian Lamb

Reply via email to