Konuyu görüntüle
IUCODERS FORUM > Programlama > JAVA > Apache Lucene search engine
Yazar
canial


avatar
mersin
Kayıt: 26.08.2007
12.11.2010-00:16 #71983
Kullanan var mıdır?
Verimli mi ? Performans açısından sorun yaşanır mı ?

Bilgi verebilir misiniz ?

Ya da bildiğiniz daha sağlam search engineler var mıdır ?





www.cancobanoglu.net
www.bilisimdergi.com
cancobanoglu@gmail.com









Yazar
orhan


avatar
istanbul
admin
Kayıt: 17.11.2005
12.11.2010-21:14 #71985
lucene den başka alternatif yok zaten. performans konusunda da sıkıntı yaşamazsın.
apache nin solr die bir search uygulaması var. onu kullanarak test yapabilirsin.





N/A
Yazar
canial


avatar
mersin
Kayıt: 26.08.2007
12.11.2010-21:23 #71986
Teşekkür ederim. Ben zaten PDF, tutorial bırakmadım :) Baya iyi bir olay. Şimdiye kadar neden kullanmadım şaşıyorum confused





www.cancobanoglu.net
www.bilisimdergi.com
cancobanoglu@gmail.com









Yazar
canial


avatar
mersin
Kayıt: 26.08.2007
24.11.2010-23:57 #72074
orhan merhaba,

Bir sorunum var yardımcı olabilirseniz sevinirim.

Veri tabanımda text editörden aldığım HTML textini tutuyorum. Bunları string değişkeninde tutarak lucene içinde girilen query ile search ettiriyorum. İstiyorum ki benim bu HTML textimin markuplarını hesaba almadan search edeyim ve highligt edeyim. Ama bir türlü bulamadım yolunu.

Yani text search eder gibi sonucta yapıyor highlight ta yaptırıyorum. Ama mesela query "div" girildiği zaman html markupları içindeki div de bulunuyor ve bütün text bozuluyor. Markupların dışında nasıl search yapabılırm. ?






www.cancobanoglu.net
www.bilisimdergi.com
cancobanoglu@gmail.com









Yazar
clairvoyant


avatar
Antalya
Kayıt: 05.05.2006
25.11.2010-01:45 #72075
Anahtar sözcükler: strip html tags
Regular expression kullanarak çözebilirsin ya da nette hazır extracting metodları vardır.
Şuradaki muhabbet işine yarayabilir:
http://stackoverflow.com/questions/240546/removing-html-from-a-java-string





Let`s make this world a better place to live !

Yazar
canial


avatar
mersin
Kayıt: 26.08.2007
25.11.2010-10:49 #72077
Teşekkür ederim.
Ben içeriğin bozulmasını istemiyorum yalnız. Yani aramayı markupların dışında yapsın istiyorum. Extract edersem text halinde arayüzde görüntülerim HTMLin bozulmaması gerekiyor.





www.cancobanoglu.net
www.bilisimdergi.com
cancobanoglu@gmail.com









Yazar
canial


avatar
mersin
Kayıt: 26.08.2007
25.11.2010-10:52 #72079
Sadece textini alıp onun içinde arama yaptırabilirim html bozulmaz şimdi anladım yalniz bu parse fonksiyonlarının hepsi inputstream alıyor sadece string alsalar olmaz mısad





www.cancobanoglu.net
www.bilisimdergi.com
cancobanoglu@gmail.com









Yazar
clairvoyant


avatar
Antalya
Kayıt: 05.05.2006
25.11.2010-12:17 #72080
Hazır çözüm bulamadıysan regular expression kullanabilirsin.

Şu linkte bir sürü html regex ifadesi var:
http://www.pagecolumn.com/tool/all_about_html_tags.htm

Örneğin şurada applet ile yapmışlar:
http://jregex.sourceforge.net/examples-html.html

Eğer string html entity'ler içeriyorsa tagleri yok ettikten sonra aşağıdaki gibi bir metod uygulayabilirsin:
http://commons.apache.org/lang/api-...#unescapeHtml%28java.lang.String%29





Let`s make this world a better place to live !

Yazar
orhan


avatar
istanbul
admin
Kayıt: 17.11.2005
25.11.2010-23:02 #72084
canial yazdi
 
orhan merhaba,

Bir sorunum var yardımcı olabilirseniz sevinirim.

Veri tabanımda text editörden aldığım HTML textini tutuyorum. Bunları string değişkeninde tutarak lucene içinde girilen query ile search ettiriyorum. İstiyorum ki benim bu HTML textimin markuplarını hesaba almadan search edeyim ve highligt edeyim. Ama bir türlü bulamadım yolunu.

Yani text search eder gibi sonucta yapıyor highlight ta yaptırıyorum. Ama mesela query "div" girildiği zaman html markupları içindeki div de bulunuyor ve bütün text bozuluyor. Markupların dışında nasıl search yapabılırm. ?

lucene datanın tamamını tutmuyor. sen lucene ye indexlemesi gereken şeyi vereceksin o da indexleyecek. html dokumanı verirsen htmlparser diye bi java library si var onu kullanabilirsin. aynısını pdf rtf vs.. içinde yapabilirsin.





N/A
Yazar
canial


avatar
mersin
Kayıt: 26.08.2007
03.12.2010-21:51 #72163
Orhan merhaba,

Apache Solr kurdum. Ben Solr u kendi uygulamam için kullanabilir miyim ?
Web service tarzı bir şekilde kullanılabilir mi ?





www.cancobanoglu.net
www.bilisimdergi.com
cancobanoglu@gmail.com









Yazar
orhan


avatar
istanbul
admin
Kayıt: 17.11.2005
05.12.2010-11:35 #72168
solr kendi uygulamana embed edebilirsin. ama bu şu şekilde olur kendin bir solr instance açarsın sonra o instance üzerinde her türlü manipulasyon yapabilirsin. yalnız bu instance farklı porttan çalışır. bu servera istediğin herşeyi yaptırabilirsin.
http://wiki.apache.org/solr/Solrj





N/A
Yazar
canial


avatar
mersin
Kayıt: 26.08.2007
06.12.2010-00:08 #72177
Teşekkür ederim orhan
Yalnız şöyle bir hata ile karsılasıyorum
Exception in thread "main" org.apache.solr.common.SolrException: Bad Request

Bad Request

request: http://localhost:8080/solr/update
        at org.apache.solr.client.solrj.impl.CommonsHttpSolrServer.request(CommonsHttpSolrServer.java:424)
        at org.apache.solr.client.solrj.impl.CommonsHttpSolrServer.request(CommonsHttpSolrServer.java:243)
        at org.apache.solr.client.solrj.request.AbstractUpdateRequest.process(AbstractUpdateRequest.java:105)
        at org.apache.solr.client.solrj.SolrServer.add(SolrServer.java:49)
        at org.apache.solr.client.solrj.SolrServer.addBeans(SolrServer.java:58)
        at com.nodeser.mvnchat.BasicMessenger.main(BasicMessenger.java:63)
------------------------------------------------------------------------
[ERROR]BUILD ERROR


Yani yanlış mı anladım bilmiyorum kod da aşağıda.
 

String url = "http://localhost:8080/solr/";
SolrServer server = new CommonsHttpSolrServer(url);


SolrInputDocument doc1 = new SolrInputDocument();

doc1.addField("id", "id1", 1.0f);
doc1.addField("name", "name1", 1.0f);
doc1.addField("price", 10);

SolrInputDocument doc2 = new SolrInputDocument();
doc2.addField("id", "id2", 1.0f);
doc2.addField("name", "doc2", 1.0f);
doc2.addField("price", 20);

Collection<SolrInputDocument> docs = new ArrayList<SolrInputDocument>();
docs.add(doc1);
docs.add(doc2);
UpdateResponse response = server.add(doc1);
server.commit();

UpdateRequest req = new UpdateRequest();
req.setAction(UpdateRequest.ACTION.COMMIT, false, false);
req.add(docs);
UpdateResponse rsp = req.process(server);


SolrQuery query = new SolrQuery();
query.setQuery("*:*");
query.addSortField("price", SolrQuery.ORDER.asc);

QueryResponse rspo = server.query(query);
SolrDocumentList mydocs = rspo.getResults();
List<Item> serverBean = new ArrayList<Item>();

UpdateResponse addBeans = server.addBeans(serverBean);
List<Item> beans = rspo.getBeans(Item.class);

System.out.println("asdas");
}

public static class Item {

@Field("id")
String id;
@Field("name")
Object name;
@Field("price")
Object price;

public Item(String id, Object name) {
this.id = id;
this.name = name;

}

public Object getPrice() {
return price;
}

public void setPrice(Object price) {
this.price = price;
}

public Object getName() {
return name;
}

public void setName(Object name) {
this.name = name;
}

public String getId() {
return id;
}

public void setId(String id) {
this.id = id;
}
}






www.cancobanoglu.net
www.bilisimdergi.com
cancobanoglu@gmail.com









Yazar
orhan


avatar
istanbul
admin
Kayıt: 17.11.2005
06.12.2010-13:13 #72183
http 400 almissin. solr acik ve calisir oldugundan emin ol bir de solr loglarina bak ne yaziyor.





N/A
Yazar
canial


avatar
mersin
Kayıt: 26.08.2007
06.12.2010-22:46 #72199
Solrj ile indexleme vs benım yapmama gerek var mı ? Kendisi yapıyor mu ?





www.cancobanoglu.net
www.bilisimdergi.com
cancobanoglu@gmail.com









Yazar
orhan


avatar
istanbul
admin
Kayıt: 17.11.2005
06.12.2010-23:18 #72201
solr a dokumanı/data veriyosun o da indeksliyor





N/A
1 2
Del.icio.us
Digg
Facebook
Furl
Google
Blink
Simpy
Spurl
Y! MyWeb