A. Steven Anderson wrote:
No thoughts on this? Really!?
I would hate to admit to my Oracle DBE that Solr can't be customized to do a
common query that a relational database can do. :-(
On Wed, Nov 4, 2009 at 6:01 PM, A. Steven Anderson <
a.steven.ander...@gmail.com> wrote:
I've scoured the archives and JIRA , but the answer to my question is just
not clear to me.
With all the new Solr 1.4 features, is there any way to do a leading and
trailing wildcard query on an *untokenized* field?
e.g. q=myfield:*abc* would return a doc with myfield=xxxabcxxx
Yes, I know how expensive such a query would be, but we have the user
requirement, nonetheless.
If not, any suggestions on how to implement a custom solution using Solr?
Using an external data structure?
You can use ReversedWildcardFilterFactory that creates additional tokens
(in your case, a single additional token :) ) that is reversed, _and_
also triggers the setAllowLeadingWildcards in the QueryParser - won't
help much with the performance though, due to the trailing wildcard in
your original query. Please see the discussion in SOLR-1321 (this will
be available in 1.4 but it should be easy to patch 1.3 to use it).
If you really need to support such queries efficiently you should
implement a full permu-term indexing, i.e. a token filter that rotates
tokens and adds all rotations (with a special marker to mark the
beginning of the word), and a query plugin that detects such query terms
and rotates the query term appropriately.
--
Best regards,
Andrzej Bialecki <><
___. ___ ___ ___ _ _ __________________________________
[__ || __|__/|__||\/| Information Retrieval, Semantic Web
___|||__|| \| || | Embedded Unix, System Integration
http://www.sigram.com Contact: info at sigram dot com