Re: how solr4.0 and zookeeper run on weblogic

2014-11-24 Thread Ramzi Alqrainy
I hope this post helps you

http://lucene.472066.n3.nabble.com/how-solr4-0-and-zookeeper-run-on-weblogic-td4013882.html



--
View this message in context: 
http://lucene.472066.n3.nabble.com/how-solr4-0-and-zookeeper-run-on-weblogic-tp4170625p4170679.html
Sent from the Solr - User mailing list archive at Nabble.com.


Re: Help on Notification for SOLR

2014-11-24 Thread Ramzi Alqrainy
of course there is another approach which is using Solr Clients. So, you can
use solr clients for specific language like PHP, JAVA, ...

For Example :

JAVA Solr Client :

SolrJ is an API that makes it easy for Java applications to talk to Solr.
SolrJ hides a lot of the details of connecting to Solr and allows your
application to interact with Solr with simple high-level methods.


String urlString = http://localhost:8983/solr;;
SolrServer solr = new HttpSolrServer(urlString);
SolrInputDocument document = new SolrInputDocument();
document.addField(id, 552199);
document.addField(name, Gouda cheese wheel);
document.addField(price, 49.99);
UpdateResponse response = solr.add(document);
 
// Remember to commit your changes!
 
solr.commit();


If you want another language, you can tell me and I will help you .


   
EXTERNAL Taminidi Ravi (ETI, Automotive-Service-Solutions) wrote
 Hello,  
 
 I am working on implementing a notification system when there is any
 change in the solr index (Addition or removal of documents from Index).
 
 Can someone guide me on the starting point. I see some articles using DIH?
 Is there any way using without DIH.
 
 Thanks
 
 Ravi





--
View this message in context: 
http://lucene.472066.n3.nabble.com/Help-on-Notification-for-SOLR-tp4170708p4170716.html
Sent from the Solr - User mailing list archive at Nabble.com.


Re: create new core based on named config set using the admin page

2014-11-05 Thread Ramzi Alqrainy
Sorry, I did not get your point, can you please elaborate more 



--
View this message in context: 
http://lucene.472066.n3.nabble.com/create-new-core-based-on-named-config-set-using-the-admin-page-tp4167850p4167860.html
Sent from the Solr - User mailing list archive at Nabble.com.


Re: Indexing nested document to support blockjoin queries in solr 4.10.1

2014-11-05 Thread Ramzi Alqrainy
You can model this in different ways, depending on your searching/faceting
needs. Usually you'll use multivalued or dynamic fields. In the next
examples I'll omit the field type, indexed and stored flags:

field name=name type=text indexed=true stored=true /
field name=c_name type=string indexed=true stored=true
multiValued=true/
field name=c_age type=int indexed=true stored=true
multiValued=true /
field name=c_sex type=string indexed=true stored=true
multiValued=true/


Another one:


 dynamicField name=c_name_* type=string indexed=true 
stored=true/
 dynamicField name=c_age_* type=string indexed=true 
stored=true/
 dynamicField name=c_sex_* type=string indexed=true 
stored=true/

Here you would store fields 'c_name_1', 'c_age_1', 'c_name_2', 'c_age_2',
etc. Again it's up to you to correlate values, but at least you have an
index. With some code you could make this transparent.

Solr wiki says: Solr provides one table. Storing a set database tables in
an index generally requires denormalizing some of the tables. Attempts to
avoid denormalizing usually fail. It's up to you to denormalize your data
according to your search needs.

UPDATE: Since version 4.10.1 or so Solr supports nested documents directly:
https://cwiki.apache.org/confluence/display/solr/Other+Parsers#OtherParsers-BlockJoinQueryParsers



--
View this message in context: 
http://lucene.472066.n3.nabble.com/Indexing-nested-document-to-support-blockjoin-queries-in-solr-4-10-1-tp4167831p4167861.html
Sent from the Solr - User mailing list archive at Nabble.com.


Re: Cannot use Phrase Queries in eDisMax and filtering

2014-11-03 Thread Ramzi Alqrainy
The results are different, because you need to set start parameter 0
instead of 50 in the first query (after filtration ) with same rows value 



--
View this message in context: 
http://lucene.472066.n3.nabble.com/Cannot-use-Phrase-Queries-in-eDisMax-and-filtering-tp4167302p4167329.html
Sent from the Solr - User mailing list archive at Nabble.com.


Re: Cannot use Phrase Queries in eDisMax and filtering

2014-11-03 Thread Ramzi Alqrainy
I tried to produce your case in my machine with below queries, but everything
worked fine with me. I just want to ask you a question what is the field
type of tag field ?

q=bmw
fl=score,*
wt=json
fq=city_id:59
qt=/query
defType=edismax
pf=title^15%20discription^5
pf3=1
pf2=1
ps=1
qroup=true
group.field=member_id
group.limit=10
sort=score desc
group.ngroups=true




q=bmw
fl=score,*
wt=json
fq=city_id:59
qt=/query
defType=edismax
pf=title^15%20discription^5
pf3=1
pf2=1
ps=1
qroup=true
group.field=member_id
group.limit=10
group.ngroups=true
sort=score desc 
fq=category_id:1777



--
View this message in context: 
http://lucene.472066.n3.nabble.com/Cannot-use-Phrase-Queries-in-eDisMax-and-filtering-tp4167302p4167338.html
Sent from the Solr - User mailing list archive at Nabble.com.


Re: Automating Solr

2014-10-30 Thread Ramzi Alqrainy
Simple add this line to your crontab with crontab -e command:

0,30 * * * * /usr/bin/wget
http://solr_host:8983/solr/core_name/dataimport?command=full-import 

This will full import every 30 minutes. Replace solr_host and core_name
with your configuration

*Using delta-import command*

Delta Import operation can be started by hitting the URL
http://localhost:8983/solr/dataimport?command=delta-import. This operation
will be started in a new thread and the status attribute in the response
should be shown busy now. Depending on the size of your data set, this
operation may take some time. At any time, you can hit
http://localhost:8983/solr/dataimport to see the status flag.

When delta-import command is executed, it reads the start time stored in
conf/dataimport.properties. It uses that timestamp to run delta queries and
after completion, updates the timestamp in conf/dataimport.properties.

Note: there is an alternative approach for updating documents in Solr, which
is in many cases more efficient and also requires less configuration
explained on DataImportHandlerDeltaQueryViaFullImport.

*Delta-Import Example*

We will use the same example database used in the full import example. Note
that the database schema has been updated and each table contains an
additional column last_modified of timestamp type. You may want to download
the database again since it has been updated recently. We use this timestamp
field to determine what rows in each table have changed since the last
indexed time.

Take a look at the following data-config.xml


dataConfig
dataSource driver=org.hsqldb.jdbcDriver
url=jdbc:hsqldb:/temp/example/ex user=sa /
document name=products
entity name=item pk=ID
query=select * from item
deltaImportQuery=select * from item where
ID='${dih.delta.id}'
deltaQuery=select id from item where last_modified gt;
'${dih.last_index_time}'
entity name=feature pk=ITEM_ID
query=select description as features from feature where
item_id='${item.ID}'
/entity
entity name=item_category pk=ITEM_ID, CATEGORY_ID
query=select CATEGORY_ID from item_category where
ITEM_ID='${item.ID}'
entity name=category pk=ID
   query=select description as cat from category where
id = '${item_category.CATEGORY_ID}'
/entity
/entity
/entity
/document
/dataConfig
Pay attention to the deltaQuery attribute which has an SQL statement capable
of detecting changes in the item table. Note the variable
${dataimporter.last_index_time} The DataImportHandler exposes a variable
called last_index_time which is a timestamp value denoting the last time
full-import 'or' delta-import was run. You can use this variable anywhere in
the SQL you write in data-config.xml and it will be replaced by the value
during processing.





--
View this message in context: 
http://lucene.472066.n3.nabble.com/Automating-Solr-tp4166696p4166707.html
Sent from the Solr - User mailing list archive at Nabble.com.


Re: Boosting on field-not-empty

2014-10-30 Thread Ramzi Alqrainy
You can use FunctionQuery that allows one to use the actual value of a field
and functions of those fields in a relevancy score.

Two function will help you, which are :

*exists*

exists(field|function) returns true if a value exists for a given document.

Example use: exists(myField) will return true if myField has a value, while
exists(query({!v='year:2012'})) will return true for docs with year=2012.

*if*

if(expression,trueValue,falseValue) emits trueValue if the expression is
true, else falseValue. An expression can be any function which outputs
boolean values, or even functions returning numeric values, in which case
value 0 will be interpreted as false, or strings, in which case empty string
is interpreted as false.

Example use: if(exists(myField),100,0) returns 100 if myField exists

*Solution: *

Use in a parameter that is explicitly for specifying functions, such as the
EDisMax query parser's boost param, or DisMax query parser's bf (boost
function) parameter. (Note that the bf parameter actually takes a list of
function queries separated by white space and each with an optional boost.
Make sure you eliminate any internal white space in single function queries
when using bf). For example:

http://lucene.472066.n3.nabble.com/file/n4166709/Screen_Shot_2014-10-30_at_9.png
 




--
View this message in context: 
http://lucene.472066.n3.nabble.com/Boosting-on-field-not-empty-tp4166692p4166709.html
Sent from the Solr - User mailing list archive at Nabble.com.


Re: Clear Solr Admin Interface Logging page's logs

2014-10-29 Thread Ramzi Alqrainy
Yes sure, if you use jetty container to run solr, you can remove solr.log
file from
 
$SOLR_HOME/example/logs

by using this command for Linux/Unix
 
rm -rf $SOLR_HOME/example/logs/solr.log

For windows

DEL  $SOLR_HOME/example/logs/solr.log

After that, you can check the logging interface.




--
View this message in context: 
http://lucene.472066.n3.nabble.com/Clear-Solr-Admin-Interface-Logging-page-s-logs-tp4166463p4166500.html
Sent from the Solr - User mailing list archive at Nabble.com.


Re: update external file

2014-10-23 Thread Ramzi Alqrainy
Of course, there is a support for uploading the external file via Solr, you
can find more details in below links

https://cwiki.apache.org/confluence/display/solr/Working+with+External+Files+and+Processes

http://lucene.apache.org/solr/4_10_0/solr-core/org/apache/solr/schema/ExternalFileField.html



--
View this message in context: 
http://lucene.472066.n3.nabble.com/update-external-file-tp4165563p4165565.html
Sent from the Solr - User mailing list archive at Nabble.com.


Re: update external file

2014-10-23 Thread Ramzi Alqrainy
I hope I understand your question well. so I had the same problem. This is
what I did:

1. Create a file:
solr_home/PROJECT/multicore/core1/data/external_popularProducts.txt

The file should contain values like this:
uniqueID_in_core=count

Example:
873728721=19
842728342=20

2. Update schema.xml, add this under types  /types
fieldType name=popularProductsFile keyField=key defVal=0
stored=true indexed=true class=solr.ExternalFileField valType=float
/

Here, key is the column name for the primaryID of solr core.
Add this under fields/fields
field name=popularProducts type=popularProductsFile indexed=true
stored=true /

3. Reload the core. 



--
View this message in context: 
http://lucene.472066.n3.nabble.com/update-external-file-tp4165563p4165572.html
Sent from the Solr - User mailing list archive at Nabble.com.


RE: update external file

2014-10-23 Thread Ramzi Alqrainy
Right, There is no REST support for it like the synonym filter, or was it
stop filter.



--
View this message in context: 
http://lucene.472066.n3.nabble.com/update-external-file-tp4165563p4165577.html
Sent from the Solr - User mailing list archive at Nabble.com.


Re: QParserPlugin question

2014-10-22 Thread Ramzi Alqrainy
I don't know why you need to change it ? you can use omitHeader=true on the
URL to remove header if you want.



--
View this message in context: 
http://lucene.472066.n3.nabble.com/QParserPlugin-question-tp4165368p4165373.html
Sent from the Solr - User mailing list archive at Nabble.com.


Re: StatelessScriptUpdateProcessorFactory Access to Solr Core/schema/analyzer etc

2014-10-22 Thread Ramzi Alqrainy
In the below script you have access to several Solr objects, allowing you for
instance to modify the document before it’s indexed by Solr or to add some
lines to the Solr log. It’s best demonstrated by an example.

http://lucene.472066.n3.nabble.com/file/n4165380/Screen_Shot_2014-10-22_at_9.png
 



--
View this message in context: 
http://lucene.472066.n3.nabble.com/StatelessScriptUpdateProcessorFactory-Access-to-Solr-Core-schema-analyzer-etc-tp4165372p4165380.html
Sent from the Solr - User mailing list archive at Nabble.com.


Re: Nested documents in Solr

2014-10-21 Thread Ramzi Alqrainy
I think if I have your question right, You can use multiple custom query
syntax. You explicitly specify an alternative query parser such as DisMax or
eDisMax, you're using the standard Lucene query parser by default.

In your case, I think I can solve it by using this query
chapter_title:Introduction ( chapter_title:Lucene OR chapter_content:fun )

Here are some query examples demonstrating the query syntax.

*Keyword matching*

Search for word foo in the title field.

title:foo
Search for phrase foo bar in the title field.

title:foo bar
Search for phrase foo bar in the title field AND the phrase quick fox in
the body field.

title:foo bar AND body:quick fox
Search for either the phrase foo bar in the title field AND the phrase
quick fox in the body field, or the word fox in the title field.

(title:foo bar AND body:quick fox) OR title:fox
Search for word foo and not bar in the title field.

title:foo -title:bar

*Wildcard matching*

Search for any word that starts with foo in the title field.

title:foo*
Search for any word that starts with foo and ends with bar in the title
field.

title:foo*bar
Note that Lucene doesn't support using a * symbol as the first character of
a search.







--
View this message in context: 
http://lucene.472066.n3.nabble.com/Nested-documents-in-Solr-tp4165099p4165232.html
Sent from the Solr - User mailing list archive at Nabble.com.


Re: SolrJ and Lucene queries

2014-10-21 Thread Ramzi Alqrainy
Use query() to have Solr search for results. You have to pass a SolrQuery
object that describes the query, and you will get back a QueryResponse (from
the org.apache.solr.client.solrj.response package).
SolrQuery has methods that make it easy to add parameters to choose a
request handler and send parameters to it. Here is a very simple example
that uses the default request handler and sets the q parameter:

http://lucene.472066.n3.nabble.com/file/n4165239/1.png 

To choose a different request handler, for example, just set the qt
parameter like this:

http://lucene.472066.n3.nabble.com/file/n4165239/2.png 

Once you have your SolrQuery set up, submit it with query():

http://lucene.472066.n3.nabble.com/file/n4165239/3.png 

The client makes a network connection and sends the query. Solr processes
the query, and the response is sent and parsed into a QueryResponse.
The QueryResponse is a collection of documents that satisfy the query
parameters. You can retrieve the documents directly with getResults() and
you can call other methods to find out information about highlighting or
facets.

http://lucene.472066.n3.nabble.com/file/n4165239/4.png 



--
View this message in context: 
http://lucene.472066.n3.nabble.com/SolrJ-and-Lucene-queries-tp4165233p4165239.html
Sent from the Solr - User mailing list archive at Nabble.com.


Re: Suggester on Dynamic fields

2014-10-21 Thread Ramzi Alqrainy
Use query() to have Solr search for results. You have to pass a SolrQuery
object that describes the query, and you will get back a QueryResponse (from
the org.apache.solr.client.solrj.response package).
SolrQuery has methods that make it easy to add parameters to choose a
request handler and send parameters to it. Here is a very simple example
that uses the default request handler and sets the q parameter:

http://lucene.472066.n3.nabble.com/file/n4165288/1.png 

To choose a different request handler, for example, just set the qt
parameter like this:

http://lucene.472066.n3.nabble.com/file/n4165288/2.png 

Once you have your SolrQuery set up, submit it with query():

http://lucene.472066.n3.nabble.com/file/n4165288/3.png 

The client makes a network connection and sends the query. Solr processes
the query, and the response is sent and parsed into a QueryResponse.

The QueryResponse is a collection of documents that satisfy the query
parameters. You can retrieve the documents directly with getResults() and
you can call other methods to find out information about highlighting or
facets.

http://lucene.472066.n3.nabble.com/file/n4165288/4.png 



--
View this message in context: 
http://lucene.472066.n3.nabble.com/Suggester-on-Dynamic-fields-tp4165270p4165288.html
Sent from the Solr - User mailing list archive at Nabble.com.


Re: SolrJ and Lucene queries

2014-10-21 Thread Ramzi Alqrainy
Yeah, it's a shame such a ser/deser feature isn't available in Lucene. 

My idea is to have a separate module that the Query classes can delegate to 
for serialization and deserialization, handling recursion for nested query 
objects, and then have modules for XML, JSON, and a pseudo-Java functional 
notation (maybe closer to JavaScript) for the actual formatting and parser. 
And then developers can subclass the module to add any custom Query classes 
of their own. 

A full JSON query ser/deser would be an especially nice addition to Solr, 
allowing direct access to all Lucene Query features even if they haven't 
been integrated into the higher level query parsers. 

And maybe the format should have a flag for whether terms have been analyzed 
or not. Then, deserialization could optionally do analysis as well. 

The Solr QueryParsing.toString method shows a purely external approach to 
serialization (I've done something similar myself.) This is what is output 
in the parsedquery section of debugQuery output for a Solr query response. 



--
View this message in context: 
http://lucene.472066.n3.nabble.com/SolrJ-and-Lucene-queries-tp4165233p4165290.html
Sent from the Solr - User mailing list archive at Nabble.com.


Re: Query parsing - difference between Analysis and parsedquery_toString output

2014-10-20 Thread Ramzi Alqrainy
 q: manufacture_t:The Hershey Company^100 OR title_t:The Hershey
Company^1000 

Firstly, Make sure that manufacture_t and title_t are text_general type, and
Let's use this approach instead of your approach 
q=The Hershey Companyq.op=ANDqf=manufacture_t title_tdefType=edismax





--
View this message in context: 
http://lucene.472066.n3.nabble.com/Query-parsing-difference-between-Analysis-and-parsedquery-toString-output-tp4164851p4164884.html
Sent from the Solr - User mailing list archive at Nabble.com.


Re: FW: Complex boost statement

2014-10-20 Thread Ramzi Alqrainy
Please try this 

if(and(exists(query({!v=BUS_CITY:regina})),exists(BUS_IS_NEARBY)),20,1)



--
View this message in context: 
http://lucene.472066.n3.nabble.com/Complex-boost-statement-tp4164572p4164885.html
Sent from the Solr - User mailing list archive at Nabble.com.


Re: CoreAdminRequest in SolrCloud

2014-10-20 Thread Ramzi Alqrainy
Querying all shards for a collection should look familiar; it's as though
SolrCloud didn't even come into play:

/http://localhost:8983/solr/collection1/select?q=*:*/

If, on the other hand, you wanted to search just one shard, you can specify
that shard, as in:

/http://localhost:8983/solr/collection1/select?q=*:*shards=localhost:7574/solr/

If you want to search a group of shards, you can specify them together:

/http://localhost:8983/solr/collection1/select?q=*:*shards=localhost:7574/solr,localhost:8983/solr/

Or you can specify a list of servers to choose from for load balancing
purposes by using the pipe symbol (|):

/http://localhost:8983/solr/collection1/select?q=*:*shards=localhost:7574/solr|localhost:7500/solr/


nabil Kouici wrote
 Hi,
 I'm trying to get all shards statistics in cloud configuration. I'v used
 CoreAdminRequest but the problem is I get statistics for only shards (or
 core) in one node (I've 2 nodes):
 
 String zkHostString = 10.0.1.4:2181;
 CloudSolrServer solrServer= new CloudSolrServer(zkHostString);
 CoreAdminRequest request = new CoreAdminRequest();
 request.setAction(CoreAdminAction.STATUS);
 CoreAdminResponse cores = request.process(solrServer);
 for (int i = 0; i  cores.getCoreStatus().size(); i++) {
 
  NamedList

  ll=cores.getCoreStatus().getVal(i);
  System.out.println(ll.toString());
 } 
 
 Any idea?
 
 Regards,
 Nabil.





--
View this message in context: 
http://lucene.472066.n3.nabble.com/CoreAdminRequest-in-SolrCloud-tp4164918p4164941.html
Sent from the Solr - User mailing list archive at Nabble.com.


Re: Solr replicas - stop replication and start again

2014-10-20 Thread Ramzi Alqrainy
You can delete replicas from shard by using this command

/admin/collections?action=DELETEREPLICAcollection=collectionshard=shardreplica=replica

Delete a replica from a given collection and shard. If the corresponding
core is up and running the core is unloaded and the entry is removed from
the clusterstate. If the node/core is down , the entry is taken off the
clusterstate and if the core comes up later it is automatically
unregistered.


http://lucene.472066.n3.nabble.com/file/n4164943/Screen_Shot_2014-10-20_at_3.png
 

Example : 

http://10.0.1.6:8983/solr/admin/collections?action=DELETEREPLICAcollection=test2shard=shard2replica=core_node3



--
View this message in context: 
http://lucene.472066.n3.nabble.com/Solr-replicas-stop-replication-and-start-again-tp4164931p4164943.html
Sent from the Solr - User mailing list archive at Nabble.com.


Re: Solr replicas - stop replication and start again

2014-10-20 Thread Ramzi Alqrainy
You can also delete shard also 



--
View this message in context: 
http://lucene.472066.n3.nabble.com/Solr-replicas-stop-replication-and-start-again-tp4164931p4164945.html
Sent from the Solr - User mailing list archive at Nabble.com.


Re: Solr replicas - stop replication and start again

2014-10-20 Thread Ramzi Alqrainy
You can add a new replicas but I think you can't revive the old one.



--
View this message in context: 
http://lucene.472066.n3.nabble.com/Solr-replicas-stop-replication-and-start-again-tp4164931p4164988.html
Sent from the Solr - User mailing list archive at Nabble.com.


Re: Verify if solr reload core is successful or not

2014-10-20 Thread Ramzi Alqrainy
when you hit a request in the browser
http://localhost:8983/solr/admin/cores?action=RELOADcore=core0

you will receive this response
 
?xml version=1.0 encoding=UTF-8?
response
   lst name=responseHeader
  int name=status0/int
  int name=QTime1316/int
   /lst
/response

That means that every thing is fine





--
View this message in context: 
http://lucene.472066.n3.nabble.com/Verify-if-solr-reload-core-is-successful-or-not-tp4164981p4164996.html
Sent from the Solr - User mailing list archive at Nabble.com.


Re: Word Break Spell Checker Implementation algorithm

2014-10-20 Thread Ramzi Alqrainy
WordBreakSolrSpellChecker offers suggestions by combining adjacent query
terms and/or breaking terms into multiple words. It is a SpellCheckComponent
enhancement, leveraging Lucene's WordBreakSpellChecker. It can detect
spelling errors resulting from misplaced whitespace without the use of
shingle-based dictionaries and provides collation support for word-break
errors, including cases where the user has a mix of single-word spelling
errors and word-break errors in the same query. It also provides shard
support.


Here is how it might be configured in solrconfig.xml:

http://lucene.472066.n3.nabble.com/file/n4164997/Screen_Shot_2014-10-20_at_9.png
 


Some of the parameters will be familiar from the discussion of the other
spell checkers, such as name, classname, and field. New for this spell
checker is combineWords, which defines whether words should be combined in a
dictionary search (default is true); breakWords, which defines if words
should be broken during a dictionary search (default is true); and
maxChanges, an integer which defines how many times the spell checker should
check collation possibilities against the index (default is 10).
The spellchecker can be configured with a traditional checker (ie:
DirectSolrSpellChecker). The results are combined and collations can contain
a mix of corrections from both spellcheckers.

Add It to a Request Handler

Queries will be sent to a RequestHandler. If every request should generate a
suggestion, then you would add the following to the requestHandler that you
are using:

http://lucene.472066.n3.nabble.com/file/n4164997/2.png 

For more details, you can read the below tutorial 

https://cwiki.apache.org/confluence/display/solr/Spell+Checking



--
View this message in context: 
http://lucene.472066.n3.nabble.com/Word-Break-Spell-Checker-Implementation-algorithm-tp4164955p4164997.html
Sent from the Solr - User mailing list archive at Nabble.com.


Re: unstable results on refresh

2014-10-20 Thread Ramzi Alqrainy
Can you please provide us the exception when the shard goes out of sync ?
Please monitor the logs. 



--
View this message in context: 
http://lucene.472066.n3.nabble.com/unstable-results-on-refresh-tp4164913p4165002.html
Sent from the Solr - User mailing list archive at Nabble.com.


Re: Verify if solr reload core is successful or not

2014-10-20 Thread Ramzi Alqrainy
The response would be 

http://lucene.472066.n3.nabble.com/file/n4165076/Screen_Shot_2014-10-21_at_7.png
 



--
View this message in context: 
http://lucene.472066.n3.nabble.com/Verify-if-solr-reload-core-is-successful-or-not-tp4164981p4165076.html
Sent from the Solr - User mailing list archive at Nabble.com.


Re: How to properly use Levenstein distance with ~ in Java

2014-10-20 Thread Ramzi Alqrainy
Because ~ is proximity matching. Lucene supports finding words are a within a
specific distance away.
Search for foo bar within 4 words from each other.

foo bar~4

Note that for proximity searches, exact matches are proximity zero, and word
transpositions (bar foo) are proximity 1.
A query such as foo bar~1000 is an interesting alternative to foo AND
bar.



--
View this message in context: 
http://lucene.472066.n3.nabble.com/How-to-properly-use-Levenstein-distance-with-in-Java-tp4164793p4165079.html
Sent from the Solr - User mailing list archive at Nabble.com.


Re: Recovering from Out of Mem

2014-10-19 Thread Ramzi Alqrainy
You can create a script to ping on Solr every 10 sec. if no response, then
restart it (Kill process id and run Solr again).
This is the fastest and easiest way to do that on windows.



--
View this message in context: 
http://lucene.472066.n3.nabble.com/Recovering-from-Out-of-Mem-tp4164167p4164882.html
Sent from the Solr - User mailing list archive at Nabble.com.


Re: How to properly use Levenstein distance with ~ in Java

2014-10-19 Thread Ramzi Alqrainy
You can use Levenstein Distance algorithm inside solr without writing code by
specifing the source of terms in solrconfig.xml

searchComponent name=spellcheck class=solr.SpellCheckComponent
  lst name=spellchecker
str name=classnamesolr.IndexBasedSpellChecker/str
str name=spellcheckIndexDir./spellchecker/str
str name=fieldcontent/str
str name=buildOnCommittrue/str
  /lst
/searchComponent

This example shows the results of a simple query that defines a query using
the spellcheck.q parameter. The query also includes a spellcheck.build=true
parameter, which is needs to be called only once in order to build the
index. spellcheck.build should not be specified with for each request.

http://localhost:8983/solr/spellCheckCompRH?q=*:*spellcheck.q=hell%20ultrasharspellcheck=truespellcheck.build=true

lst name=spellcheck
  lst name=suggestions
lst name=hell
  int name=numFound1/int
  int name=startOffset0/int
  int name=endOffset4/int
  arr name=suggestion
strdell/str
  /arr
/lst
lst name=ultrashar
  int name=numFound1/int
  int name=startOffset5/int
  int name=endOffset14/int
  arr name=suggestion
strultrasharp/str
  /arr
/lst
  /lst
/lst



Once the suggestions are collected, they are ranked by the configured
distance measure (Levenstein Distance by default) and then by aggregate
frequency.



--
View this message in context: 
http://lucene.472066.n3.nabble.com/How-to-properly-use-Levenstein-distance-with-in-Java-tp4164793p4164883.html
Sent from the Solr - User mailing list archive at Nabble.com.


Request to add my username to ContributorsGroup

2014-01-15 Thread Ramzi Alqrainy
My wiki username Ramzi Alqrainy


-- 


Sincerely ,



*Ramzi Alqrainy*


Mobile: +962 (7) 9551 6105

Email: ramzi.alqra...@gmail.com

My Profile: http://jo.linkedin.com/in/ramzialqrainy
--

This e-mail and any attachments to it contains information which may be
confidential and/or privileged. It is intended solely for use by the
recipient(s) and no confidentiality or privilege is waived or lost by any
mistransmission. If you are not an intended recipient, please be aware that
any disclosure, copying, distribution or use of the contents of this e-mail
is prohibited. If you have received this e-mail in error, please excuse
this inconvenience and delete it and all copies from your system, destroy
any hard copies, and notify me by telephone or return e-mail. Thank you.
--


Advice : High-traffic web site

2013-05-29 Thread Ramzi Alqrainy
Hi Team,

Please I need your advice, I have high-traffic web site (100 million page
views/month) to 22 country and I want to build fast and powerfull search
engine. So, I use solr 4.3 and sperate every country to collection , but I
want to build right structure to accommodates high traffic .So, What advise
me to use? Solr cloud or Master-Slave or multi-cores .


Thanks in advance. 
Ramzi,



--
View this message in context: 
http://lucene.472066.n3.nabble.com/Advice-High-traffic-web-site-tp4066745.html
Sent from the Solr - User mailing list archive at Nabble.com.


Solr : Condition Before Group By

2012-09-04 Thread Ramzi Alqrainy
Hi, 

I would like to help me for certain problem. 

My problem is : 

I have documents and I do group by on certain field (e.g. Field1).  I want
to get documents with Field2 is [3 or 9 or 12] if exist, otherwise get any
document. please see the below example. 


D1 :--- 
Field1 : 1  - 
Field2 : 3 -  D1 (group by on field1 and field2 is
3) 
  - 
D2: --- 
Field1 : 1 
Field2 : 4 


D3:--- 
Field1 : 2   - 
Field2 : 5-- any document D3 or D4 
- 
D4:--- 
Field1 : 2 
Field2 : 7 

I want to get the results like below 
D1(Mandatory) 
(D3 OR D4)



--
View this message in context: 
http://lucene.472066.n3.nabble.com/Solr-Condition-Before-Group-By-tp4005179.html
Sent from the Solr - User mailing list archive at Nabble.com.


Missing Features - AndMaybe and Otherwise

2012-09-03 Thread Ramzi Alqrainy
Hi,

I would like to help me for certain problem. I have encountered a problem in
task I think if you implement the below functions/conditions, you will help
us for many issues.  

*AndMaybe(a, b)*
Binary query takes results from the first query. If and only if the same
document also appears in the results from the second query, the score from
the second query will be added to the score from the first query.

*Otherwise(a, b)*
A binary query that only matches the second clause if the first clause
doesn’t match any documents.


My problem is :

I have documents and I do group by on certain field (e.g. Field1).  I want
to get documents with Field2 is [3 or 9 or 12] if exist, otherwise get any
document. please see the below example.


D1 :---
Field1 : 1  -
Field2 : 3 -  D1 (group by on field1 and field2 is
3)
  -
D2: ---
Field1 : 1
Field2 : 4


D3:---
Field1 : 2   -
Field2 : 5-- any document D3 or D4
-
D4:---
Field1 : 2
Field2 : 7

I want to get the results like below 
D1(Mandatory) 
(D3 OR D4)



--
View this message in context: 
http://lucene.472066.n3.nabble.com/Missing-Features-AndMaybe-and-Otherwise-tp4005059.html
Sent from the Solr - User mailing list archive at Nabble.com.


Solr Partial and Exact Matching

2012-08-27 Thread Ramzi Alqrainy
I want to ask you about partial and exact matching. I have documents for
Places and we need to get exact match if the user search for place name and
get the results based on other factors (not place name) if the query is
general or partial.


This is an example to explain more details.
 
If we suppose that schema for our documents contains 2 fields like below.

field name=Place Title type=text indexed=true stored=true
required=true/
field name=Review type=text indexed=true stored=true
multiValued=true/

and we have 2 documents 

D1 :

Place Title : Pizza Hut
Review : Nice meal

D2 : 

Place Title : Little Caesar
Review :   Nice Pizza

If the user search for general query like pizza only, we will decrease the
rank for place title to support reviews like
qf= place_title^1 review^2
But if we search about exact match like Pizza Hut, we will increase the
rank
qf= place_title^5 review^2

I have many idea like using term frequency and many approach but I need the
best practice for implenting it.

Please advice,
Thanks in advance.



--
View this message in context: 
http://lucene.472066.n3.nabble.com/Solr-Partial-and-Exact-Matching-tp4003478.html
Sent from the Solr - User mailing list archive at Nabble.com.


Re: Solr Partial and Exact Matching

2012-08-27 Thread Ramzi Alqrainy
Please allow me to add another document with another example.

D3 :

Place Title : Pizza Jons
Review : I love it.

When the user search for pizza [General Query] we need to decrease the rank
for place title and gets
Little Caesar 
Pizza hut
Pizza Jons

When we search for Jons [Search For Name]
Pizza Jons

When we search for Pizza Hut [Exact Match]
Pizza Hut
 




--
View this message in context: 
http://lucene.472066.n3.nabble.com/Solr-Partial-and-Exact-Matching-tp4003478p4003489.html
Sent from the Solr - User mailing list archive at Nabble.com.


Re: Solr Partial and Exact Matching

2012-08-27 Thread Ramzi Alqrainy
But I don't want to add these words as static because I can't restrict or
inclose all words, I need to play on weight only.



--
View this message in context: 
http://lucene.472066.n3.nabble.com/Solr-Partial-and-Exact-Matching-tp4003478p4003508.html
Sent from the Solr - User mailing list archive at Nabble.com.


Re: Solr Score threshold 'reasonably', independent of results returned

2012-08-25 Thread Ramzi Alqrainy
It will never return no result because its relative to score in previous
result

If score0.25*last_score then stop

Since score0 and last score is 0 for initial hit it will not stop



--
View this message in context: 
http://lucene.472066.n3.nabble.com/Solr-Score-threshold-reasonably-independent-of-results-returned-tp4002312p4003247.html
Sent from the Solr - User mailing list archive at Nabble.com.


Re: Solr Score threshold 'reasonably', independent of results returned

2012-08-25 Thread Ramzi Alqrainy
You are right Mr.Ravish, because this depends on (ranking and search fields)
formula, but please allow me to tell you that Solr score can help us to
define this document is relevant or not in some cases. 



--
View this message in context: 
http://lucene.472066.n3.nabble.com/Solr-Score-threshold-reasonably-independent-of-results-returned-tp4002312p4003248.html
Sent from the Solr - User mailing list archive at Nabble.com.


Solr Score threshold 'reasonably', independent of results returned

2012-08-20 Thread Ramzi Alqrainy
Usually, search results are sorted by their score (how well the document
matched the query), but it is common to need to support the sorting of
supplied data too.
Boosting affects the scores of matching documents in order to affect ranking
in score-sorted search results. Providing a boost value, whether at the
document or field level, is optional.
When the results are returned with scores, we want to be able to only keep
results that are above some score (i.e. results of a certain quality only).
Is it possible to do this when the returned subset could be anything?
I ask because it seems like on some queries a score of say 0.008 is
resulting in a decent match, whereas other queries a higher score results in
a poor match.
I have written pseudo code to achieve what I said.
Note: I have attached my code as screenshot

http://lucene.472066.n3.nabble.com/file/n4002312/Screen_Shot_2012-08-21_at_5.30.38_AM.png
 

https://issues.apache.org/jira/browse/SOLR-3747



--
View this message in context: 
http://lucene.472066.n3.nabble.com/Solr-Score-threshold-reasonably-independent-of-results-returned-tp4002312.html
Sent from the Solr - User mailing list archive at Nabble.com.


Facet count problem : Multi-Select Faceting After grouping results

2011-09-20 Thread Ramzi Alqrainy
Dear All ,
Kindly note that I using Solr 4.0 and Kindly note that
/*group.truncate=true*/ calculates facet counts that based on the most
relevant document of each group matching the query.

*But* when I used Multi-Select Faceting [Tagging and excluding Filters] ,
the solr can't calculate the facet after grouping the results and select
multi facet.

http://127.0.0.1:8983/solr/select/?facet=truesort=score+desc,+rate+desc,total_of_reviews+descfacet.limit=-1bf=sum%28product%28atan%28total_of_reviews%29,50%29,product%28rate,10%29%29^4group.field=place_idfacet.field={!ex%3Dce}cat_enfacet.field={!ex%3Dce}cat_arfacet.field={!ex%3Dir}iregionfacet.field={!ex%3Dir}region_enfacet.field={!ex%3Dir}region_arfacet.field={!ex%3Drr}rratefacet.field=place_statusfacet.field=theme_enfacet.field=icityfacet.field={!ex%3Dce}icatfacet.field={!ex%3Dsce}isubcatfacet.field={!ex%3Dsce}subcat_enfacet.field={!ex%3Dsce}subcat_arqt=/spellfq=place_status:1fq=icity:1fq=cat_en:%28%22Restaurants%22%29group.format=simplegroup.ngroups=truefacet.mincount=1qf=title_ar^24+title_en^24+cat_ar^10+cat_en^10++review^20hl.fl=reviewjson.nl=mapwt=jsondefType=edismaxrows=10spellcheck.accuracy=0.6start=0q=smartgroup.truncate=truegroup=trueindent=on


Please Advise,

--
View this message in context: 
http://lucene.472066.n3.nabble.com/Facet-count-problem-Multi-Select-Faceting-After-grouping-results-tp3346267p3346267.html
Sent from the Solr - User mailing list archive at Nabble.com.