日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > HTML >内容正文

HTML

osqa java_从LSM-Tree、COLA-Tree谈到StackOverflow、OSQA(召唤前端)

發布時間:2024/4/11 HTML 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 osqa java_从LSM-Tree、COLA-Tree谈到StackOverflow、OSQA(召唤前端) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

2.4、OSQA內Sphinx配置文件

接下來為我們的問題搜索寫sphinx配置文件,我的配置文件如下:#源定義

source base_source

{

type = mysql

sql_host = localhost

sql_user = root

sql_pass = root

sql_db = osqa

sql_port = 3306

sql_query_pre = SET NAMES utf8

sql_query_pre = SET SESSION query_cache_type=OFF

sql_query_info_pre = SET NAMES utf8

sql_range_step = 1000

sql_query =

}

#index定義

index base_index

{

path=

source = base_source #對應的source名稱

docinfo = extern

mlock = 0

morphology = none

min_word_len = 1

html_strip = 0

#中文分詞配置,詳情請查看:http://www.coreseek.cn/products-install/coreseek_mmseg/

charset_dictpath = /usr/local/mmseg3/etc/ #BSD、Linux環境下設置,/符號結尾

#charset_dictpath = etc/ #Windows環境下設置,/符號結尾,最好給出絕對路徑,例如:C:/usr/local/coreseek/etc/...

charset_type = zh_cn.utf-8

ngram_len = 0

}

source search_question_source: base_source

{

sql_query_range = select min(id),max(id) from forum_node

sql_query = SELECT question.id, question.title, author.username, question.tagnames, question.body,\

GROUP_CONCAT(answer.body) as answer_bodies FROM forum_node AS question, forum_node AS answer,\

auth_user AS author WHERE answer.parent_id = question.id AND question.author_id = author.id \

And question.id >= $start and question.id < $end GROUP BY question.id

# sql_attr_uint = group_id #從SQL讀取到的值必須為整數,we should add the number of answer

# and update date to rank these questions

# sql_attr_timestamp = date_added #從SQL讀取到的值必須為整數,作為時間屬性

}

source delta_search_question_source: search_question_source

{

sql_query_range = select min(id),max(id) from forum_node where added_at > DATE_FORMAT(NOW(),'%Y-%m-%d')

}

index search_question_index : base_index

{

source= search_question_source

path= /ROOT/sphinx/index/search_question

}

index delta_search_question_index : search_question_index

{

source= delta_search_question_source

path= /ROOT/sphinx/index/delta_search_question

}

#全局index定義

indexer

{

mem_limit = 128M

}

#searchd服務定義

searchd

{

listen = 9312

read_timeout = 5

max_children = 30

max_matches = 1000

seamless_rotate = 0

preopen_indexes = 0

unlink_old = 1

pid_file = /ROOT/sphinx/log/searchd_osqa.pid #請修改為實際使用的絕對路徑,例如:/usr/local/coreseek/var/...

log = /ROOT/sphinx/log/searchd_osqa.log #請修改為實際使用的絕對路徑,例如:/usr/local/coreseek/var/...

query_log = /ROOT/sphinx/log/query_osqa.log #請修改為實際使用的絕對路徑,例如:/usr/local/coreseek/var/...

可以放在任何文件夾下?只要建索引的時候指定就好。比如我的是放在/ROOT/sphinx/conf/sphinx_osqa.conf,接下來建索引: indexer ?-c /ROOT/sphinx/conf/sphinx_osqa.conf ?--all –rotate

Base_index的警告可以忽略,然后啟動守護進程?searchd–c?/ROOT/sphinx/conf/sphinx_osqa.conf

到此,sphinx的服務端都已經弄好,守護進程searchd在9312端口等待客戶端發query。可以簡單測試一下?search–c?/ROOT/sphinx/conf/sphinx_osqa.conf?keywords。

2.5、Sphinx服務端配置的幾個問題

Sphinx服務端配置已經完成,雖然自從diable掉mysqlfulltext之后就可以搜到問題,但是用的是Like?%keyword%形式的請求。我們現在需要改的有三處:

在/forum/models/question.py

在Question類加入search = SphinxSearch(

index ='search_question_index',

mode='SPH_MATCH_ALL',

),自己根據需求配置,比如設置權重之類的。

加入sphinxsearch引用from?djangosphinx.models?import?SphinxSearch

QuestionManager類加入queryset?=?Question.search.query(keywords)

將命中的id取出來存成list結構,比如,存到變量ids里,然后直接返回

return?False,self.filter(id__in=ids)

這樣就返回了命中的id的所有問題。當然這種in的方式如果ids的數據量小的時候還可以,大了之后也不行,所以,后續應該考慮分頁的方式來呈現更多的結果。

當然,最終能在服務器端上看到已經有收到請求了,如下圖所示:

至此,之前搜到不到關鍵詞/tag的問題成功解決。也就是說,咱們的StackOverflow的原型OSQA已經搭建完成,接下來,便是一系列修改完善優化的工作。最后,可以在5月底之前正式上線,不出所料的話。歡迎有興趣者加入,謝謝。

參考文獻及相關鏈接

后記

從4月6日和幾個朋友正式啟動以來,到如今已快一月,盡管我們存在著很多的缺陷,業余時間完成+平均畢業一年+異地協調作戰,但一切不足以成為阻礙我們的借口。感謝我的團隊/朋友們的支持,特別是菠蘿,chx/@,銀河系,Damon及志偉。他們給了我足夠多的支持和幫助。

非常歡迎在京的有意者加入我們:

熟練or精通前端開發(js/css/html,或熟悉jquery/ajax);

后端(熟練linux/python,或熟悉django框架或進行過web py開發),或有做過大型網站經驗的;

上手快,快速自學/開發能力強,業余時間充足,做事專注且有毅力。? ?有意且具備以上任何一項技能,在京的業余時間充足且想做點事情的,歡迎隨時加入我們(加入的唯一條件則是:在本地獨自成功搭建OSQA),以造益天下更多人。我的聯系方式如下:1、微博@博主July,http://weibo.com/julyweibo;2、郵箱:zhoulei0907@yahoo.cn。

OK,本文或本blog內任何文章有任何問題,歡迎隨時不吝賜教/指正。謝謝,完。

總結

以上是生活随笔為你收集整理的osqa java_从LSM-Tree、COLA-Tree谈到StackOverflow、OSQA(召唤前端)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。