You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucene.apache.org by "Hoss Man (JIRA)" <ji...@apache.org> on 2010/10/11 20:23:33 UTC

[jira] Commented: (SOLR-2150) Anti-phrasing feature

    [ https://issues.apache.org/jira/browse/SOLR-2150?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12919934#action_12919934 ] 

Hoss Man commented on SOLR-2150:
--------------------------------

One approach that might be worth considering is to generalize the problem beyond just anti-phrasing, and allow the dictionaries to contain optional mappings between the patterns and filter queries that should be applied to the query in place of the full phrase.

In the product space this could let people setup mappings like...

{noformat}
* Printers => {!field f=category}printers
{noformat} 
so a request like...
{noformat}
q=HP+Printers
{noformat}
 would become equivalent to
{noformat}
q=HP&fq={!field f=category}printers
{noformat}

...following in the "Who is" example, if the data set is a collection of people, then "Who is" could be mapped to nothing (so it's just striped away, w/o a filter query being added) but if the data set is a general collection of information (ie: wikipedia) then "Who Is" could be mapped to something like "doc_type:person"

> Anti-phrasing feature
> ---------------------
>
>                 Key: SOLR-2150
>                 URL: https://issues.apache.org/jira/browse/SOLR-2150
>             Project: Solr
>          Issue Type: New Feature
>          Components: SearchComponents - other
>            Reporter: Jan Høydahl
>
> Add an anti-phrasing feature to Solr.
> Definition: Identifying word sequences in queries that do not contribute essentially to the query's meaning, such as "Where can I find" or "Where is."
> (Source: http://www.google.com/search?q=define%3Aanti+phrasing)
> For general purpose search services, such as web, intranet, shopping search, some users will try to write a question to the search engine, such as "how much is an ipod nano". One straight-forward way of limiting the number of 0-hits in such environments is to apply anti-phrasing, which uses a dictionary of common sentence prefixes which should be stripped from the incoming query before it is sent further to search.
> This can be implemented as a Search Component in Solr. The dictionary can be language independent. We can encourage users to submit their tested anti-phrasing dictionaries for various languages, and include those. The dictionary can be a set of simple .txt files, loaded in memory at startup in an efficient data structure such as b-tree or finite state automaton to avoid redundancy and ensure quick matching. The procedure for detecting an anti-phrase from the incoming query is to first lookup the full query phrase, if no match, remove a word from the end, and do another lookup until either a match or end of string. Example for query: "Who is Einstein?", where "Who is" is defined as an anti phrase.
> 1. Lookup "Who is Einstein"
> 2. Lookup "Who is" (match), remove this prefix
> 3. Issue the query "Einstein" to search

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@lucene.apache.org
For additional commands, e-mail: dev-help@lucene.apache.org