"I don't get any results with "has "(inflections). Why?"

Wildcard patterns on strings are literal, exact. There is no automatic natural language processing.

You could try a regular expression match:

q=/ ha(s|ve) /

Or, just use OR:

q=*has* OR *have*

Or, use a <copyField> of the package name to a text field and than you can use simple keywords:

q=package_name_text:(has OR have)

Is PackageName a "string" field?

Or, maybe best, use an update processor to populate a Boolean field to indicate whether the has/have pattern is seen in the package name. A simple JavaScript script with a StatelessScriptUpdateProcessor could do this in just a couple of lines and make the query much faster.

For question 1.b the two queries seem identical - was that the case?

There is no "*:" feature to query all fields in Solr - although the LucidWorks Search query parser does support that feature.

-- Jack Krupansky

-----Original Message----- From: Mysurf Mail
Sent: Monday, June 24, 2013 7:26 AM
To: solr-user@lucene.apache.org
Subject: Need assistance in defining search urls

Now, each doc looks like this (i generated random user text in the freetext
columns in the DB)
<doc> <str name="PackageName">We have located the ship.</str> <arr name=
"CatalogVendorPartNum"> <str>d1771fc0-d3c2-472d-aa33-4bf5d1b79992</str> <str
b2986a4f-9687-404c-8d45-57b073d900f7</str> <str>
a99cf760-d78e-493f-a827-585d11a765f3</str> <str>
ba349832-c655-4a02-a552-d5b76b45d58c</str> <str>
35e86a61-eba8-49f4-95af-8915bd9561ac</str> <str>
6d8eb7d9-b417-4bda-b544-16bc26ab1d85</str> <str>
31453eff-be19-4193-950f-fffcea70ef9e</str> <str>
08e27e4f-3d07-4ede-a01d-4fdea3f7ddb0</str> <str>
79a19a3f-3f1b-486f-9a84-3fb40c41e9c7</str> <str>
b34c6f78-75b1-42f1-8ec7-e03d874497df</str> </arr> <float name="score">
1.7437795</float></doc> <doc>
My searches are :
(PackageName is deined as default search)

1. I try to search for any package that name has the word "have" or "had"
or "has"
2. I try to search for any package that consists
d1771fc0-d3c2-472d-aa33-4bf5d1b79992

Therefore I use this searches

1.
http://localhost:8983/solr/vault/select?q=*have*&fl=PackageName%2Cscore&defType=edismax&stopwords=true&lowercaseOperators=true

questions :
1.a. even if i display all results, I dont get any results with "has "
(inflections). Why?
1.b. what is the difference between
*have*<http://localhost:8983/solr/vault/select?q=*have*&fl=PackageName%2Cscore&defType=edismax&stopwords=true&lowercaseOperators=true>
and have<http://localhost:8983/solr/vault/select?q=*have*&fl=PackageName%2Cscore&defType=edismax&stopwords=true&lowercaseOperators=true>.
the score is differnt.

2.
http://localhost:8983/solr/vault/select?q=*:d1771fc0-d3c2-472d-aa33-4bf5d1b79992&fl=PackageName,score&defType=edismax&stopwords=true&lowercaseOperators=true&start=0&rows=300

Questions:
2.a. I get no result. even though i search it on all fields. (*) and it
appears in
2.b. If I want to search on more than one field i.e. packageName &
description, what is the best way to do it?
define all as default?
Thanks,

Reply via email to