Hello,

 

My task is very simple:

 

I have a big database with a lot tables and fields. This database has
dynamic structure and can be extended or changed in any time.

I need a tool for full-search possibility via all fields in all tables of my
database. On the input of this tool - some text for search. On the output -
some unique key and the name of field which contains this text.

 

Solr is very good selection, but I have serious problem with it: all Solr
query parsers (standard, dismax, edismax) requires explicit declaration of
fields for search. But list of these fields in my case is very and very big!
And at search time I don't know all field names in  the database.

 

I think that my task is not unique. According google a lot of people tries
to solve same problems with Solr.

 

May be good idea to add more flexible possibilities for search in all
indexed fields?

 

I see following variants:

 

1. Add wildcards in the qf parameter for dismax/edismax query parsers.

 

2. Add possibility to store source field name in <copyField > operator in
schema.xml. In this case user can do following:

 

a) create field for default search:

<field name="TEXT" type="text_ALL" indexed="true" stored="true"
multiValued="true"/>

...

<defaultSearchField>TEXT</defaultSearchField>

 

b) copy all fields to default search field:

<copyField source="*" dest="TEXT" storeSource="true" />

 

c) In query response user can receive needed source field name:

 

<lst name="highlighting">

<lst name="......">

<arr name="TEXT">

  <str source="SOURCE_FIELD_NAME">foo foo foo <em>test</em> foo foo</str> 

  </arr>

  </lst>

 

I'm sorry, if has distracted from affairs.

 

Eugeny

Reply via email to