I'm completely new to this but I've managed to set up a Solr instance that is
pulling data from a MySql database. The records are "artists" (e.g. bands,
performers, musicians, etc) with the following schema:

<fields>
  <field name="id" type="string" indexed="true" stored="true"
required="true" />
  <field name="slug" type="string" indexed="false" stored="true"/>
  <field name="name" type="text" indexed="true" stored="true"/>
  <field name="alt_name" type="text" indexed="true" stored="true"/>
  <field name="created_at" type="date" indexed="true" stored="true"/>
  <field name="updated_at" type="date" indexed="true" stored="true"/>
  <field name="bio" type="text" indexed="false" stored="true"/>
  <field name="tour_name" type="text" indexed="false" stored="false"/>
  <field name="tour_desc" type="text" indexed="false" stored="false"/>

  <field name="text" type="text" indexed="true" stored="false"
multiValued="true"/>
  <field name="text_rev" type="text_rev" indexed="true" stored="false"
multiValued="true"/>
  <dynamicField name="*" type="ignored" multiValued="true" />
</fields>

<uniqueKey>id</uniqueKey>
<defaultSearchField>text</defaultSearchField>
<solrQueryParser defaultOperator="OR"/>
<copyField source="name" dest="text"/>
<copyField source="alt_name" dest="text"/>
<copyField source="bio" dest="text"/>
<copyField source="tour_name" dest="text"/>
<copyField source="tour_desc" dest="text"/>

This was based on the example schema.

What I want to do is perform a fuzzy search against the dynamic "text"
field, but with an improved score for the name field, and to a lesser extent
the alt_name field.

So for example, if the search term is "Blak" then an artist named "Black
Rebel Motorcycle Club" should rank higher than an artist named "Anti Nowhere
League" but who has the word "Blake" in the bio field.

Is this possible? I've read that you can do query-time field boosting with
the DisMaxHandler, but that it doesn't support fuzzy matching?

Similar question here:
http://lucene.472066.n3.nabble.com/Fuzziness-with-DisMaxRequestHandler-td482786.html#a482787
but it's 2 years old.

There's also this ticket: https://issues.apache.org/jira/browse/SOLR-629 but
that's also well over 18 months old.

So - is there a way to do this at query time? If not, can I do something at
index time to boost the name fields? Or is there some other solution to my
problem?

Cheers.


-- 
View this message in context: 
http://lucene.472066.n3.nabble.com/Fuzzy-search-and-field-weighting-boosting-tp2206091p2206091.html
Sent from the Solr - User mailing list archive at Nabble.com.

Reply via email to