Re: Searching for a term which isn't a part of an expression

2016-12-15 Thread Dean Gurvitz
I think queries would usually not contain more than one phrase per query,
but there isn't a fixed list.

Anyways, your solution is very very good for us. We could write a
QueryParser or a SearchComponent that edits the Lucene Query object in the
ResponseBuilder to include the relevant SpanNotQuery. Thanks a lot!!!

On Thu, Dec 15, 2016 at 4:01 PM, Ahmet Arslan  wrote:

> Hi,
>
>
> Span query family would be a pure query-time solution, SpanNotQuery in
> particular.
>
>
> SpanNearQuery include = new SpanTermQuery(new Term(FIELD, "world");
>
>
> SpanNearQuery exclude = new SpanNearQuery(new SpanQuery[] {
> new SpanTermQuery(new Term(FIELD, "hello")),
> new SpanTermQuery(new Term(FIELD, "world"))},
> 0,
> true);
>
> SpanQuery finalQuery = new SpanNotQuery(include, exclude)
> This finalQuery supposed to retrieve documents that have the term "world"
> but not as a part of "hello world".
>
>
>
> Is your list of phrases query dependent? If yes how many phrases per-query?
>
> Or you have a global list of phrases?
>
> Ahmet
>
> On Thursday, December 15, 2016 10:32 AM, Dean Gurvitz 
> wrote:
>
>
>
> Hi,
> The list of phrases wil be relatively dynamic, so changing the indexing
> process isn't a very good solution for us.
>
> We also considered using a PostFilter or adding a SearchComponent to filter
> out the "bad" results, but obviously a true query-time support would be a
> lot better.
>
>
>
> On Wed, Dec 14, 2016 at 10:52 PM, Ahmet Arslan 
> wrote:
>
> > Hi,
> >
> > Do you have a common list of phrases that you want to prohibit partial
> > match?
> > You can index those phrases in a special way, for example,
> >
> > This is a new world hello_world hot_dog tap_water etc.
> >
> > ahmet
> >
> >
> > On Wednesday, December 14, 2016 9:20 PM, deansg 
> wrote:
> > We would like to enable queries for a specific term that doesn't appear
> as
> > a
> > part of a given expression. Negating the expression will not help, as we
> > still want to return items that contain the term independently, even if
> > they
> > contain full expression as well.
> > For example, we would like to search for items that have the term "world"
> > but not as a part of "hello world". If the text is: "This is a new world.
> > Hello world", we would still want to return the item, as "world" appears
> > independently as well as a part of "Hello world". However, we will not
> want
> > to return items that only have the expression "hello world" in them.
> > Does Solr support these types of queries? We thought about using regex,
> but
> > since the text is tokenized I don't think that will be possible.
> >
> >
> >
> > --
> > View this message in context: http://lucene.472066.n3.
> > nabble.com/Searching-for-a-term-which-isn-t-a-part-of-an-
> > expression-tp4309746.html
> > Sent from the Solr - User mailing list archive at Nabble.com.
> >
>


Re: Searching for a term which isn't a part of an expression

2016-12-15 Thread Ahmet Arslan
Hi,


Span query family would be a pure query-time solution, SpanNotQuery in 
particular.


SpanNearQuery include = new SpanTermQuery(new Term(FIELD, "world");


SpanNearQuery exclude = new SpanNearQuery(new SpanQuery[] {
new SpanTermQuery(new Term(FIELD, "hello")),
new SpanTermQuery(new Term(FIELD, "world"))},
0,
true);

SpanQuery finalQuery = new SpanNotQuery(include, exclude)
This finalQuery supposed to retrieve documents that have the term "world" but 
not as a part of "hello world".



Is your list of phrases query dependent? If yes how many phrases per-query?

Or you have a global list of phrases?

Ahmet

On Thursday, December 15, 2016 10:32 AM, Dean Gurvitz  wrote:



Hi,
The list of phrases wil be relatively dynamic, so changing the indexing
process isn't a very good solution for us.

We also considered using a PostFilter or adding a SearchComponent to filter
out the "bad" results, but obviously a true query-time support would be a
lot better.



On Wed, Dec 14, 2016 at 10:52 PM, Ahmet Arslan 
wrote:

> Hi,
>
> Do you have a common list of phrases that you want to prohibit partial
> match?
> You can index those phrases in a special way, for example,
>
> This is a new world hello_world hot_dog tap_water etc.
>
> ahmet
>
>
> On Wednesday, December 14, 2016 9:20 PM, deansg  wrote:
> We would like to enable queries for a specific term that doesn't appear as
> a
> part of a given expression. Negating the expression will not help, as we
> still want to return items that contain the term independently, even if
> they
> contain full expression as well.
> For example, we would like to search for items that have the term "world"
> but not as a part of "hello world". If the text is: "This is a new world.
> Hello world", we would still want to return the item, as "world" appears
> independently as well as a part of "Hello world". However, we will not want
> to return items that only have the expression "hello world" in them.
> Does Solr support these types of queries? We thought about using regex, but
> since the text is tokenized I don't think that will be possible.
>
>
>
> --
> View this message in context: http://lucene.472066.n3.
> nabble.com/Searching-for-a-term-which-isn-t-a-part-of-an-
> expression-tp4309746.html
> Sent from the Solr - User mailing list archive at Nabble.com.
>


Re: Searching for a term which isn't a part of an expression

2016-12-14 Thread Dean Gurvitz
Hi,
The list of phrases wil be relatively dynamic, so changing the indexing
process isn't a very good solution for us.

We also considered using a PostFilter or adding a SearchComponent to filter
out the "bad" results, but obviously a true query-time support would be a
lot better.


On Wed, Dec 14, 2016 at 10:52 PM, Ahmet Arslan 
wrote:

> Hi,
>
> Do you have a common list of phrases that you want to prohibit partial
> match?
> You can index those phrases in a special way, for example,
>
> This is a new world hello_world hot_dog tap_water etc.
>
> ahmet
>
>
> On Wednesday, December 14, 2016 9:20 PM, deansg  wrote:
> We would like to enable queries for a specific term that doesn't appear as
> a
> part of a given expression. Negating the expression will not help, as we
> still want to return items that contain the term independently, even if
> they
> contain full expression as well.
> For example, we would like to search for items that have the term "world"
> but not as a part of "hello world". If the text is: "This is a new world.
> Hello world", we would still want to return the item, as "world" appears
> independently as well as a part of "Hello world". However, we will not want
> to return items that only have the expression "hello world" in them.
> Does Solr support these types of queries? We thought about using regex, but
> since the text is tokenized I don't think that will be possible.
>
>
>
> --
> View this message in context: http://lucene.472066.n3.
> nabble.com/Searching-for-a-term-which-isn-t-a-part-of-an-
> expression-tp4309746.html
> Sent from the Solr - User mailing list archive at Nabble.com.
>


Re: Searching for a term which isn't a part of an expression

2016-12-14 Thread Ahmet Arslan
Hi,

Do you have a common list of phrases that you want to prohibit partial match?
You can index those phrases in a special way, for example,

This is a new world hello_world hot_dog tap_water etc.

ahmet


On Wednesday, December 14, 2016 9:20 PM, deansg  wrote:
We would like to enable queries for a specific term that doesn't appear as a
part of a given expression. Negating the expression will not help, as we
still want to return items that contain the term independently, even if they
contain full expression as well.
For example, we would like to search for items that have the term "world"
but not as a part of "hello world". If the text is: "This is a new world.
Hello world", we would still want to return the item, as "world" appears
independently as well as a part of "Hello world". However, we will not want
to return items that only have the expression "hello world" in them.
Does Solr support these types of queries? We thought about using regex, but
since the text is tokenized I don't think that will be possible.



--
View this message in context: 
http://lucene.472066.n3.nabble.com/Searching-for-a-term-which-isn-t-a-part-of-an-expression-tp4309746.html
Sent from the Solr - User mailing list archive at Nabble.com.


Searching for a term which isn't a part of an expression

2016-12-14 Thread deansg
We would like to enable queries for a specific term that doesn't appear as a
part of a given expression. Negating the expression will not help, as we
still want to return items that contain the term independently, even if they
contain full expression as well.
For example, we would like to search for items that have the term "world"
but not as a part of "hello world". If the text is: "This is a new world.
Hello world", we would still want to return the item, as "world" appears
independently as well as a part of "Hello world". However, we will not want
to return items that only have the expression "hello world" in them.
Does Solr support these types of queries? We thought about using regex, but
since the text is tokenized I don't think that will be possible.



--
View this message in context: 
http://lucene.472066.n3.nabble.com/Searching-for-a-term-which-isn-t-a-part-of-an-expression-tp4309746.html
Sent from the Solr - User mailing list archive at Nabble.com.